Javascript 在asp.net mvc中如何在页面刷新后保留插入的部分视图
我使用的是Javascript 在asp.net mvc中如何在页面刷新后保留插入的部分视图,javascript,asp.net,asp.net-mvc,jquery,Javascript,Asp.net,Asp.net Mvc,Jquery,我使用的是ASP.netmvc4和jQuery。我的视图上有一个按钮控件。当它被点击时,它会将部分视图“注入”到我的视图中。当我刷新页面时,部分视图就消失了 我的HTML标记: <button id="RetrieveButton" type="button">Retrieve</button> <div id="RuleDetails"> <div class="main-content"> <p>So
ASP.netmvc4
和jQuery
。我的视图上有一个按钮控件。当它被点击时,它会将部分视图“注入”到我的视图中。当我刷新页面时,部分视图就消失了
我的HTML标记:
<button id="RetrieveButton" type="button">Retrieve</button>
<div id="RuleDetails">
<div class="main-content">
<p>Some text.</p>
</div>
</div>
我的行动方法:
public ActionResult GetRuleDetails()
{
RuleViewModel viewModel = new RuleViewModel();
return PartialView("_RuleInformation", viewModel);
}
我的部分观点是:
@model MyProject.ViewModels.Rules.RuleViewModel
<div class="main-content">
<h2>Rule Details</h2>
</div>
@model MyProject.ViewModels.Rules.RuleViewModel
规则详细信息
如果我要刷新页面,我需要这个“注入的”局部视图保持在那里。当前,如果我要刷新它,它将“重置”,并且注入的部分已消失。它不会再次呈现该部分视图,因为它不记得按钮的单击状态 实现您想要的目标的方法之一是使用 点击按钮,您可以使用
sammy.js
(例如:“#/partialview”
)设置hashurl,页面上的刷新hashurl部分保持不变(但不会转到服务器)。然后您可以相应地操作客户机代码
var app = $.sammy('body', function (context){
this.get('#/PartialView1', function () {
fnLoadPartialView();
});
});
var app = $.sammy('body', function (context){
this.get('#/PartialView1', function () {
fnLoadPartialView();
});
});
function fnLoadPartialView (){
$.ajax(
{
type: 'POST',
url: '@Url.Action("GetRuleDetails")',
data: {
systemCode: $('#SystemCodes').val()
},
dataType: "html",
success: function (result) {
alert('success');
var domElement = $(result);
$("#RuleDetails").html(domElement);
},
error: function (result) {
alert('error');
}
});
}
$('#RetrieveButton').click(function () {
fnLoadPartialView ();
});