将数据从分部视图传递到其他分部视图
pass data from partial view to other partial view
我有部分视图 .cshtml 页面
$("#btnsearch").click(function () {
dserial = $("#dserial").val();
$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails");
})
这里"dserial"是文本框的id,"btnsearch"是按钮的id,"content"是[=25的id[class] =] 加载局部视图。
我需要将 'dserial' 的值分配给控制器 [=21= 中的视图 SearchInstallationDeviceDetails.cshtml 中的只读文本框(让 ID 为 "serialno") ]
1 Change the action parameters, assuming a controller action:
public ActionResult SearchInstallationDeviceDetails()
改为
public ActionResult SearchInstallationDeviceDetails(string dserial)
(或 int
/guid
如果字符串不合适)
然后把你的js改成传参:
$('.content').load(
"/ServiceMaintenance/SearchInstallationDeviceDetails",
{ dserial : dserial });
注意:这只适用于简单 ID,如果不是简单 ID,则必须使用 POST
然后更新局部视图的视图模型以传递 dserial 并在视图中:
@Html.TextBoxFor(model=>model.dserial, ...
2 Inject the value after the partial has loaded.
不太好,但取决于您的限制(例如,如果您不能更换控制器)。您可能会得到一种 FOUC(无样式内容的闪光)——在本例中为“未输入”内容
$('.content').load(
"/ServiceMaintenance/SearchInstallationDeviceDetails",
function() {
$("#serialno").val(dserail).prop("readonly", true);
});
内容加载完成后可以这样填写吗?
$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails",
function() {
$('.content #serialno').val(dserial);
});
我有部分视图 .cshtml 页面
$("#btnsearch").click(function () {
dserial = $("#dserial").val();
$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails");
})
这里"dserial"是文本框的id,"btnsearch"是按钮的id,"content"是[=25的id[class] =] 加载局部视图。
我需要将 'dserial' 的值分配给控制器 [=21= 中的视图 SearchInstallationDeviceDetails.cshtml 中的只读文本框(让 ID 为 "serialno") ]
1 Change the action parameters, assuming a controller action:
public ActionResult SearchInstallationDeviceDetails()
改为
public ActionResult SearchInstallationDeviceDetails(string dserial)
(或 int
/guid
如果字符串不合适)
然后把你的js改成传参:
$('.content').load(
"/ServiceMaintenance/SearchInstallationDeviceDetails",
{ dserial : dserial });
注意:这只适用于简单 ID,如果不是简单 ID,则必须使用 POST
然后更新局部视图的视图模型以传递 dserial 并在视图中:
@Html.TextBoxFor(model=>model.dserial, ...
2 Inject the value after the partial has loaded.
不太好,但取决于您的限制(例如,如果您不能更换控制器)。您可能会得到一种 FOUC(无样式内容的闪光)——在本例中为“未输入”内容
$('.content').load(
"/ServiceMaintenance/SearchInstallationDeviceDetails",
function() {
$("#serialno").val(dserail).prop("readonly", true);
});
内容加载完成后可以这样填写吗?
$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails",
function() {
$('.content #serialno').val(dserial);
});