是否需要ajax.beginform updatetargetid

时间:2014-02-12 10:57:09

标签: jquery asp.net-mvc-3

我的要求是将部分视图加载为模式弹出窗口。 在我的弹出窗口中有一个文本框和一个验证按钮。 我需要调用ajax请求验证按钮。 并相应地显示状态。 这对我来说很好,但是当我谷歌它,大多数网站显示updatetargetid作为ajax.beginform中的参数。 我的问题是是否需要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);
    }

这对我来说很好。 此处需要updatedtargetid

1 个答案:

答案 0 :(得分:1)

UpdatetargetId是可选参数。

UpdatetargetId是要根据服务器的repsonse更新的DOM元素的id。

如果您使用ViewPartialView返回任何controllerAjax.BeginForm。此DOM元素将被更新,并将包含您返回的视图内容。

在您的情况下,据我所知,您不需要指定UpdateTargetID