将数据从局部视图传递到其他局部视图

时间:2015-09-01 11:48:17

标签: jquery asp.net-mvc partial-views

我将部分视图.cshtml页面视为

GROUP BY

这里" dserial"是文本框的ID," btnsearch"是按钮的ID和"内容"是要加载局部视图的div的id [class]。

我需要分配' dserial'的值。在SearchInstallationDeviceDetails.cshtml视图中的readonly文本框(让id为" serialno")位于Controller" ServiceMaintenance"

2 个答案:

答案 0 :(得分:1)

  

1假设控制器操作,更改操作参数:

public ActionResult SearchInstallationDeviceDetails()

更改为

public ActionResult SearchInstallationDeviceDetails(string dserial)

(如果字符串不合适,则为int / guid

然后更改你的js以传递参数:

$('.content').load(
              "/ServiceMaintenance/SearchInstallationDeviceDetails",
              { dserial : dserial });

注意:仅当它是一个简单的ID时才有效,如果它不是一个简单的ID,您将不得不使用POST

然后更新部分视图的viewmodel以传递dserial并在视图中:

@Html.TextBoxFor(model=>model.dserial, ...
  

2在部分加载后注入值。

不太好,但取决于您的限制(例如,如果您无法更改控制器)。您可能会得到一种FOUC(无格式内容的闪现) - 在这种情况下'未输入的内容

$('.content').load(
          "/ServiceMaintenance/SearchInstallationDeviceDetails",
          function() {
              $("#serialno").val(dserail).prop("readonly", true);
          });

答案 1 :(得分:0)

你可以在内容加载后填写吗?

$('.content').load("/ServiceMaintenance/SearchInstallationDeviceDetails",
function() {
  $('.content #serialno').val(dserial);
});