正在尝试更新部分视图中的文本框



我正在尝试更新部分视图中的文本框值。在该部分视图中已经有一个字段,即一个已经绑定的输入框。我想通过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>

单击validate按钮,它将验证数据库中的值,并将文本框中的值与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的文本框中的值。任何想法都将不胜感激。

如何在控制器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.
}
});       
});

最新更新