2012-04-20 74 views
0

我試圖讓一個(AJAX(現在沒有AJAX))窗體在jQuery對話框中提交。但由於某些原因,這些標籤永遠不會呈現。ASP.NET剃刀:窗體(在對話框中)不提交

包括腳本:

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 

    <link href="@Url.Content("~/Content/jquery-ui-1.8.19.custom.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.19.custom.min.js")" type="text/javascript"></script 
    > 
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/MicrosoftMVCAjax.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/ckeditor/ckeditor.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/ckeditor/adapters/jquery.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.inputfocus-0.9.min.js")" type="text/javascript"></script> 
<link href="@Url.Content("~/Content/progress.css")" rel="stylesheet" type="text/css" /> 
<script src="@Url.Content("~/Scripts/multiform.js")" type="text/javascript"></script> 



<div id="hidden" style="display:none;"> 
    <div id="coinDialogue" title="New Coin"> 
     @using(Html.BeginForm("CreateCoin", "Home")) 
     { 
      @Html.ValidationSummary(true) 
      <div style="display: inline;"> 
       <label for="FaceValue"> 
        Coin value</label> 
       <input type="text" name="FaceValue" id="FaceValue" value="" style="width: 35px;" /> 
       <select id="currency_type" name="currency_type"> 
        <option value="USD" selected="selected">USD</option> 
        <option value="EUR">EUR</option> 
       </select> 
      </div> 
      <br /> 
      <label for="ReusePeriod"> 
       Usage:</label> 
      <select id="ReusePeriod" name="ReusePeriod"> 
       <!-- Loop with for and values from Model (gotten from Paycento API) --> 
       <option value="o" selected="selected">Once</option> 
       <option value="w" >Weekly</option> 
      </select> 
      <br /> 
      <label for="ValidFrom"> 
       Validate from</label> 
      <br /> 
      <input type="text" id="ValidFrom" name="ValidFrom" value="" /> 
      <br /> 
      <label for="ValidUntil"> 
       Validate To</label> 
      <input type="text" id="ValidUntil" name="ValidUntil" value="" /> 
      <br /> 
      <input type="submit" value="Create new coin" /> 
     } 
    </div> 
    <script type="text/javascript"> 
     $('#coinDiaLink').click(function() { 
      $('#coinDialogue').dialog({ 
       buttons: { 
        Cancel: function() { 
         $(this).dialog('close'); 
        }, 
        Create: function() { 
         $('#createCoinForm').trigger('submit'); 
        } 
       } 
      }); 
     }); 
    </script> 
    </div> 
+0

我希望你在Homecontroller中有createcoin動作? – 2012-04-20 10:50:26

+0

public ActionResult CreateCoin(用戶用戶,字符串campId,FormCollection表格) {//做一些東西並返回PartialView}但這個方法永遠不會被調用 – Reinard 2012-04-20 10:53:00

+0

把[HttpPost]屬性放到你的動作上&看起來你的createcoin動作確實期望用戶, campId等等,他們沒有從你的觀點中得到傳遞。嘗試刪除這兩個參數 – 2012-04-24 12:07:27

回答

0

可以請你Html.BeginForm &取代Ajax.Beginform看它是否張貼整個頁面,如果再把它的問題可能是一個 - Ajax.Beginforms要求一些腳本文件包含在視圖或主視圖中,看看是否缺少這些文件

jquery.unobtrusive-ajax.min.js 
MicrosoftAjax.js 
MicrosoftMvcAjax.js 
+0

我切換到Html.BeginForm,但仍未提交 – Reinard 2012-04-24 12:00:55