将动态值从 jquery 传递到 MVC5 Razor
Pass dynamic value from jquery to MVC5 Razor
我有一个包含 2 个链接/按钮和 1 个网格的 MVC5 页面。由于一些动态显示问题,我不能有超过 1 个网格,所以我正在更改网格的绑定以显示公司信息或公司收入。
效果很好。
现在我有一个导出控件,它将在我的控制器中调用函数 ExportData,但是为了让函数知道要导出哪个数据集,我需要告诉当前绑定了哪些数据。因为 jquery 是客户端而 razor 是服务器端,所以我很难告诉 razor 当前值。
所以我添加了一个名为 'typeOfContent' 的参数,但我该如何填充它的值呢?换句话说,在下面的代码中,我想在 ?????是(CompanyInfo 或 CompanyIncome)。
我认为 Razor 无法读取隐藏 HTML 控件的值?
不确定我还能如何告诉 ExportData 哪种类型的数据当前可见
@model int
<a href="#link1" data-loaded="true" id="btn-link1">Show Info</a>
<a href="#link2" data-loaded="false" id="btn-link2">Show Income</a>
....
@Html.Hidden("TypeOfContent", "Temp");
@using (Html.BeginForm("ExportData", "MyController",
new { CompanyID = Model, typeOfContent = ???? },
FormMethod.Post))
{
<div id="MyGrid">
@{Html.RenderAction("MyPartial", "MyController", new { CompanyID = Model});}
</div>
}
....
<script>
$(function () {
bindCompanyInfo();
$('#btn-link1').on('click', function (e) {
bindCompanyInfo();
$('#TypeOfContent').val("CompanyInfo");
})
$('#btn-link2').on('click', function (e) {
bindCompanyIncome();
$('#TypeOfContent').val("CompanyIncome");
})
function bindCompanyInfo() {
...
};
}
function bindCompanyIncome() {
...
};
}
我认为这可以让您使用 javascript 和 post 设置和重置值。
@model int
<a href="#link1" data-loaded="true" id="btn-link1">Show Info</a>
<a href="#link2" data-loaded="false" id="btn-link2">Show Income</a>
....
@using (Html.BeginForm("ExportData", "MyController", FormMethod.Post))
{
@Html.Hidden("TypeOfContent");
@Html.Hidden("CompanyID", Model);
<div id="MyGrid">
@{Html.RenderAction("MyPartial", "MyController", new { CompanyID = Model });}
</div>
}
我有一个包含 2 个链接/按钮和 1 个网格的 MVC5 页面。由于一些动态显示问题,我不能有超过 1 个网格,所以我正在更改网格的绑定以显示公司信息或公司收入。
效果很好。
现在我有一个导出控件,它将在我的控制器中调用函数 ExportData,但是为了让函数知道要导出哪个数据集,我需要告诉当前绑定了哪些数据。因为 jquery 是客户端而 razor 是服务器端,所以我很难告诉 razor 当前值。
所以我添加了一个名为 'typeOfContent' 的参数,但我该如何填充它的值呢?换句话说,在下面的代码中,我想在 ?????是(CompanyInfo 或 CompanyIncome)。
我认为 Razor 无法读取隐藏 HTML 控件的值? 不确定我还能如何告诉 ExportData 哪种类型的数据当前可见
@model int
<a href="#link1" data-loaded="true" id="btn-link1">Show Info</a>
<a href="#link2" data-loaded="false" id="btn-link2">Show Income</a>
....
@Html.Hidden("TypeOfContent", "Temp");
@using (Html.BeginForm("ExportData", "MyController",
new { CompanyID = Model, typeOfContent = ???? },
FormMethod.Post))
{
<div id="MyGrid">
@{Html.RenderAction("MyPartial", "MyController", new { CompanyID = Model});}
</div>
}
....
<script>
$(function () {
bindCompanyInfo();
$('#btn-link1').on('click', function (e) {
bindCompanyInfo();
$('#TypeOfContent').val("CompanyInfo");
})
$('#btn-link2').on('click', function (e) {
bindCompanyIncome();
$('#TypeOfContent').val("CompanyIncome");
})
function bindCompanyInfo() {
...
};
}
function bindCompanyIncome() {
...
};
}
我认为这可以让您使用 javascript 和 post 设置和重置值。
@model int
<a href="#link1" data-loaded="true" id="btn-link1">Show Info</a>
<a href="#link2" data-loaded="false" id="btn-link2">Show Income</a>
....
@using (Html.BeginForm("ExportData", "MyController", FormMethod.Post))
{
@Html.Hidden("TypeOfContent");
@Html.Hidden("CompanyID", Model);
<div id="MyGrid">
@{Html.RenderAction("MyPartial", "MyController", new { CompanyID = Model });}
</div>
}