使用javaScript将DataView传递给控制器

时间:2014-11-28 16:58:31

标签: javascript asp.net asp.net-mvc viewdata

我试图让视图与控制器通信,使用javascript,mvc和Asp.Net更新值(数据库) 这是我的观点`

    function updateRejectType() {
       $("#btnvalider").click(function ()
        var IdRTDoc = <%: ViewData["IdRTDoc"] %> ;
        var strTypeDocument=<%:ViewData["RejectedTypesList"]  %>;
        var strLabel= <%: ViewData["strLabel"] %> ;

    $.ajax({
             type: "GET",
             url: '<%= Url.Action("UpdateRejectedType", "RejectedTypes") %>',
             data: "IdRTDoc=" + IdRTDoc +"DocumentType"+ strTypeDocument + "Label" + strLabel,
             processData: false,
             cache: false,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             complete: function () {
            alert("updated");
                                   },
             success: function () {

             error: FailureFunction
                     });


     success: function (result, request) {
                 alert("Mis à jour avec succès");
                 SuccessValider();
             },
             failure: FailureFunctionUpdate
         });

       }

       function SuccessValider(){
        window.open('../Home/About', '_parent');
 }

 function FailureFunctionUpdate() {
     alert("Problème survenu dans update !");
 }


</script>

`
其中包含函数

  

updateRejectType()          我在这里打电话

<input type="button" a class="lien_bloc_gris" onclick="updateRejectType()" value="valider" name="btnvalider"><span> </span></a></input>

这是我的控制器方法

public virtual ActionResult UpdateRejectedType(int IdRTDoc, int strDocumentType, string strLabel)
    {
        try
        {

            RejectedTypesViewModel obj = new RejectedTypesViewModel();
            obj.DocumentType = strDocumentType;
            obj.Label = strLabel;



            var result = repository.RejectedTypesUpdate("All", obj);
            return null;
        }
        catch (Exception ex)
        {

            return RedirectToAction("Error", "Shared");
        }
    } 

当我点击按钮时,没有任何事情发生。我可以做些什么来使它工作?

2 个答案:

答案 0 :(得分:0)

由于您的按钮具有onclick="updateRejectType()"属性,因此您无需将点击事件与$("#btnvalider").click(function ()绑定。您还错过了&选项中的=data。更改脚本如下

<script type="text/javascript">
    function updateRejectType() {
        var IdRTDoc = <%: ViewData["IdRTDoc"] %> ;
        var strTypeDocument=<%:ViewData["RejectedTypesList"]  %>;
        var strLabel= <%: ViewData["strLabel"] %> ;

        $.ajax({
             type: "GET",
             url: '<%= Url.Action("UpdateRejectedType", "RejectedTypes") %>',
             data: "IdRTDoc=" + IdRTDoc +"&DocumentType="+ strTypeDocument + "&Label=" + strLabel,
             processData: false,
             cache: false,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             complete: function () {
                 alert("updated");
             },
             success: function (result, request) {
                 alert("Mis à jour avec succès");
                 SuccessValider();
             },
             error: FailureFunctionUpdate
        });
    }

    function SuccessValider(){
        window.open('../Home/About', '_parent');
    }

    function FailureFunctionUpdate() {
        alert("Problème survenu dans update !");
    }
</script>

答案 1 :(得分:0)

尝试传递数据:

data: {IdRTDoc: IdRTDoc,  DocumentType: strTypeDocument, Label: strLabel},