这可能会也可能不会(很可能在文档中,但我只是错过了)。
我如何使用 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 名称的文字字符串,但不会帮助您处理参数。