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