这可能会也可能不会(很可能在文档中,但我只是错过了)。

我如何使用 T4MVC 在我的 View 中构造一个 Url.Action() 以允许我使用 jQuery 选择器。我一直在尝试以下操作(在我的 javascript 中)但没有成功:

function cancelHoldBooking() { 
    var url = '<%= Url.Action(MVC.FundProperty.CancelLock($("#propertyid").val())) %>'; 
    // other code omitted for brevity 
} 

我能够成功地做到以下几点:

function cancelHoldBooking() { 
    var url = '<%= Url.Action("CancelLock", "FundProperty") %>'; 
    url += "?id=" + $("#propertyid").val(); 
    // other code omitted for brevity - in this case    
    // **I could of course have used the**: 
    // var params = {id: $('#propertyid').val()}; 
    // **object** 
} 

我知道当答案到来时这将是一个“doh”时刻,但对于我来说,我无法弄清楚!!

干杯...

[编辑] - 我只想补充一点,如果我省略 MVC.FundProperty.CancelLock() id 参数并尝试通过 $ajax 调用发送参数对象,那么编译器会提示调用中缺少参数.因此,我无法通过在 CancelLock() 调用中使用没有参数的 $ajax params 对象来调用来绕过 javascript mish-mash。令人沮丧:(

请您参考如下方法:

我认为您正在尝试以一种行不通的方式混合客户端和服务器代码。 :) <%= ... %> block 是纯服务器端代码,因此它不能使用 JQuery 选择器。你可以用 T4MVC 做的最好的事情可能是这样的:

function cancelHoldBooking() { 
    var url = '<%= Url.Action(MVC.FundProperty.CancelLock()) %>'; 
    url += "?id=" + $("#propertyid").val(); 
} 

它仍然可以避免操作和 Controller 名称的文字字符串,但不会帮助您处理参数。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!