0
我試圖在jQuery腳本中混合使用MVC2 <%:%>腳本塊。它接受用戶輸入,使用Url.RouteUrl()更改表單動作屬性,並在文本框失去焦點時發佈表單。這裏是appScript.js文件的一部分在jQuery中嵌入MVC腳本塊
$("input#txtSSN").blur(function() {
if ($(this).val() != undefined && jQuery.trim($(this).val()).length != 0) {
alert('txtSSN.blur() = ' + $(this).val());
var formAction = '<%:Url.RouteUrl(new { controller = "controller1", action = "SSN", ID = escape(jQuery.trim($(this).val())) }) %>';
$(this).parents('form:first').form.attr('action', formAction);
$(this).parents('form:first').submit();
} //if
}); //blur
這個.js被引用爲Site.master「script src =」block。一切工作,除非它沒有發佈帶有更新後的href的表單。謝謝你的幫助。
之前的頁面傳遞到客戶端瀏覽器的服務器上的MVC2代碼運行。一旦它在瀏覽器中,你會如何期望它運行該腳本塊代碼?它遠在你的服務器遠離計算機的地方。 – Pointy
服務器不應評估使用Url.RouteUrl()的那部分服務器腳本,然後將html字符串刷新到客戶端瀏覽器?我認爲它會生成「/ controller1/SSN/1234」。我認爲這是因爲我在.js文件中使用了這個,而不是在aspx文件的