2012-01-16 55 views
0

我有我的頁面,我有ajax調用顯示窗體。 我的代碼適用於註冊表單代碼但不是來自回發(控制器中的驗證錯誤)。 任何想法如何解決這個問題?MVC2 ajax局部視圖不註冊jQuery腳本

我的容器頁面有:

腳本:

<%= Html.JQuery() %> 
    <script src="../../../../Scripts/jquery.ui.core.js" type="text/javascript"></script> 
    <script src="../../../../Scripts/jquery.ui.datepicker.min.js" type="text/javascript"></script> 
    <script src="../../../../Scripts/MicrosoftAjax.js" type="text/javascript"></script> 
    <script src="../../../../Scripts/MicrosoftMvcAjax.js" type="text/javascript">/script> 
    <script src="../../../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function registerStuff() { 
      //this gets triggered when onsuccess is called 
      $("#date").datepicker({ dateFormat: 'dd/mm/yy' }); 
      $("#sla").datepicker(); 
     } 

    </script> 

內容:

<%= Ajax.AjaxButton("New action", "CreateWorkFlowAction", new { 
controller = "CaseWorkFlow" }, new AjaxOptions() { UpdateTargetId = 
"divTableContainer", HttpMethod = "Get", OnSuccess = 
"registerStuff"})%> 

     <div id="divTableContainer"> 
response will appear here 
</div> 

我的形式看起來像

<script type="text/javascript"> 
    function RegisterJs() { 
     $("#date").datepicker({ dateFormat: 'dd/mm/yy' }); 
     $("#sla").datepicker({ dateFormat: 'dd/mm/yy' }); 
    } 
</script> 
<% Html.EnableClientValidation(); %> 
<% using (Ajax.BeginForm("CreateWorkFlowAction", new AjaxOptions() { UpdateTargetId = "divTableContainer", HttpMethod = "Post" })) 
    {%> 
<%= Html.ValidationSummary() %> 

<fieldset> 
    <div> 
     <label for="title"> 
      Title</label> 
     <%= Html.TextBoxFor(x=>x.Title) %> 
    </div> 
    <div> 
     <label for="SLA"> 
      SLA(Due Date)</label> 
     <%= Html.TextBoxFor(x => x.SelectSlaDate, new { id = "sla", @Value = string.Empty})%> 
    </div> 
    <div> 
     <label for="date"> 
      Date</label> 
     <%= Html.TextBoxFor(x => x.SelectDate, new { id = "date", @Value = string.Empty})%> 
    </div> 
    <div> 
     <button type="submit">Save action</button> 
    </div> 
</fieldset> 
<% } %> 

問題是

回答

0

我找到了解決我的問題。

我必須在部分視圖中重新註冊我的JavaScript。

這意味着我不得不更新添加註冊腳本到我將插入部分視圖的父頁面。

和therfore如果我的視圖頁中包含部分觀點我不得不搬到

function registerStuff() { 
      //this gets triggered when onsuccess is called 
      $("#date").datepicker({ dateFormat: 'dd/mm/yy' }); 
      $("#sla").datepicker(); 
     } 

到索引頁面。 成功調用此功能後從我的onComplete, 「registerStuff」,然後後一切工作般的魅力

希望這有助於你太