2014-02-12 35 views
0

我的要求是加載一個部分視圖作爲模式彈出。 在我的彈出窗口中有一個文本框和一個驗證按鈕。 我需要調用一個ajax請求驗證按鈕。 並相應地顯示狀態。 這工作對我來說很好,但是當我谷歌,大多數的網站顯示,作爲參數ajax.beginform updatetargetid。 我的問題是是ajax.beginform updatetargetid是必需的嗎?是ajax.beginform updatetargetid是必需

這是我的看法。

    @using (Ajax.BeginForm("VerifyDateOfBirth", new AjaxOptions 
        { 
         HttpMethod = "Post", 
         OnSuccess = "Loaded" 
        })) 
       { 
        <div> 
         <label for="dateOfBirth"> 
          Date Of Birth 
         </label> 
         <br /> 
         @Html.TextBox("dateOfBirth", null, new { @class = "dob", @readonly = "true" }) 
        </div> 

        <button type="submit" id="btnVerify" value="VerifyDateOfBirth" class=""> 
         Verify</button> 
        <span id="verifiedStatus" style="color: Blue; display: none;">* Data Match</span> 
        <span id="notverifiedStatus" style="color: Red; display: none;">* Data Not Match</span> 
       } 

這裏是我的Javascript

function Loaded(data) { 
    var enteredDateOfBirth = $("#dateOfBirth").val(); 
    if (data) { 
     var json = data.get_response().get_object(); 
     if (json != null && json.DOB != "") { 
      if (enteredDateOfBirth == json.DOB) { 
       //alert('result ' + json.DOB); 
       $("#verifiedStatus").show(); 
      } 
      else { 
       $("#notverifiedStatus").show(); 
      } 
     } 
    } 
    } 

這裏是我的控制器

[HttpPost] 
    public ActionResult VerifyDateOfBirth(string dateOfBirth) 
    { 
     //TODO : Get data from db 
     var data = new PremiumCalculationASView 
     { 
      DOB = DateTime.Now.ToString("dd/MM/yyyy") //dateOfBirth 
     }; 
     return Json(data); 
    } 

這是對我工作的罰款。 此處是需要更新的目標標記

+0

是在Ajax.BeginForm塊只更新或整體視圖才能發佈? – Sumedh

回答

1

UpdatetargetId是可選參數。

UpdatetargetId是您要更新的DOM元素的ID,具體取決於服務器的repsonse。

如果您使用Ajax.BeginForm返回任何ViewPartialViewcontroller。這個DOM元素將被更新,並且會有你返回的視圖內容。

在你的情況,據我知道,你不會需要指定UpdateTargetID

+0

Ajax.BeginForm塊是隻更新或整個視圖得到更新? – Sumedh

+0

您從服務器返回的視圖將被放置在該DOM元素中,您已指定異步的ID –

+0

我只返回Jason而不是視圖。我的問題是{HTML Code}中的Ajax選項塊只能刷新或整個視圖? – Sumedh