2011-06-21 110 views
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的表單。謝謝你的幫助。

+1

之前的頁面傳遞到客戶端瀏覽器的服務器上的MVC2代碼運行。一旦它在瀏覽器中,你會如何期望它運行該腳本塊代碼?它遠在你的服務器遠離計算機的地方。 – Pointy

+0

服務器不應評估使用Url.RouteUrl()的那部分服務器腳本,然後將html字符串刷新到客戶端瀏覽器?我認爲它會生成「/ controller1/SSN/1234」。我認爲這是因爲我在.js文件中使用了這個,而不是在aspx文件的