【问题标题】:Trying to update a textbox in a partial view尝试在部分视图中更新文本框
【发布时间】:2020-09-06 16:32:36
【问题描述】:

我正在尝试更新部分视图中的文本框值。在该部分视图中已经有一个字段,即一个已经绑定的输入框。我想通过 ajax 方法更新另一个输入框,而不会干扰已经绑定的其他字段。 局部视图

@model Smart_Mis_CRCW.Models.Ipcell
 <div>
<div>Case Id <input id="Rcid" type="text" style="margin-left:11%" value="@Model.CaseId"/></div><br />
<div>Vendor No<input id="Rvno" type="text" style="margin-left:11%"/><input id="Rval" value="Validate" type="button" style="margin-left:2%" /></div><br />
<div>Vendor Name<input id="Rvname" type="text" style="margin-left:11%" value="@Model.VendorName"/></div></div>

单击按钮验证时,它将验证来自 db 的值并将文本框中的值与 id Rvname 绑定。

ajax 视图尝试这样

$(document).on("click", "#Rval", function (e) {
                var vno=$('#Rvno').val();                
                $.ajax({
                    type:"POST",
                    url:"/Home/Vendorno",
                    data:{ 'id' : vno},
                    //contentType:"application/json; charset=utf-8",
                    datatype:"json",
                    success:function(r){
                        alert(r + " record(s) inserted.Case ID");
                    }
                });
                
            });

如何在控制器 Vendorno 中传递值,以便它更新文本框中的值,ID 为 Rvname。 任何想法将不胜感激。

【问题讨论】:

    标签: c# jquery asp.net asp.net-mvc


    【解决方案1】:

    如何在控制器 Vendorno 中传递值

    您可以将值传递给您的controller,因为您已经通过了,反复试验的事情总是存在的,因为有时contenttype 实际上并不是您用来点击controller 或数据不是格式正确,这就是为什么没有相应地映射这些值。

    如果您只将 id 传递给控制器​​端点,那么我建议您使用application/x-www-form-urlencoded,如下所示:

    $(document).on("click", "#Rval", function (e) {
        var vno=$('#Rvno').val();                
        $.ajax({
            "type" : "POST",
            "url" : "/Home/Vendorno?id=" + vno,
            "data" : null,
            "contentType" : "application/x-www-form-urlencoded"
            "success" : function(r){
                alert(r + " record(s) inserted.Case ID");
            }
        });       
    });
    

    这样它就会更新文本框中的值,ID 为 Rvname

    您的控制器不负责更新前端的任何内容,因此您必须在 success 方法中处理这些内容,从控制器返回所需的值并在您选择的文本框中设置该值。即

    $(document).on("click", "#Rval", function (e) {
        var vno=$('#Rvno').val();                
        $.ajax({
            "type" : "POST",
            "url" : "/Home/Vendorno?id=" + vno,
            "data" : null,
            "contentType" : "application/x-www-form-urlencoded"
            "success" : function(r){
                $('#Rvname').val(r); // I assume the "r" in the param is the name being returned from the controller.
            }
        });       
    });
    

    【讨论】:

    • 什么是控制器结构和返回类型,如果你能建议哪个将直接返回到ajax的成功部分
    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多