如何在asp.net mvc页面刷新后保留注入的部分视图
How to retain an injected partial view after page refresh in asp.net mvc
我使用ASP.NET MVC 4
和jQuery
。我的视图上有一个按钮控件。当它被点击时,它会"注入"一个局部视图到我的视图中。当我刷新页面时,部分视图就消失了。
<button id="RetrieveButton" type="button">Retrieve</button>
<div id="RuleDetails">
<div class="main-content">
<p>Some text.</p>
</div>
</div>
我的jQuery返回部分视图,并调用AJAX返回HTML:
$('#RetrieveButton').click(function () {
$.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');
}
});
});
我的动作方法:
public ActionResult GetRuleDetails()
{
RuleViewModel viewModel = new RuleViewModel();
return PartialView("_RuleInformation", viewModel);
}
My partial view:
@model MyProject.ViewModels.Rules.RuleViewModel
<div class="main-content">
<h2>Rule Details</h2>
</div>
如果我要刷新页面,我需要这个"注入"的部分视图保持在那里。目前,如果我要刷新它,它会"重置",并且注入的部分已经消失了。
它不会再次呈现该部分视图,因为它不记得按钮的单击状态。
实现您正在寻找的方法之一是使用sammy.js
单击按钮,您可以使用sammy.js
(例如:'#/partialview'
)设置hashurl,并在页面刷新hashurl部分保持完整(但不去服务器)。然后可以相应地操作客户端代码
- 在你的页面中引用sammy.js
-
像下面那样初始化sammy
var app = $.sammy('body', function (context){ this.get('#/PartialView1', function () { fnLoadPartialView(); }); });
-
更改检索到与href='PartialView1'
-
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'); } }); }
5 .
$('#RetrieveButton').click(function () {
fnLoadPartialView ();
});
相关文章:
- 分派点击事件并保留击键修饰符
- 使用Objective-C的JavaScript注入方法
- 正在注入包含JS的HTML
- 迷你$provider注入茉莉花和角
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 提交后保留下拉选择的值
- Angularjs工厂注入错误
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 刷新后保留对网页的更改
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 如何在Ionic Android中将Javascript注入到web视图中
- 使用递归属性迭代保留属性结构
- Jquery html() 和保留元素名称
- 如何将字符串拆分为字符,但在javascript中保留空格
- 将Backbone.View重新注入DOM,保留事件而不是创建新事件
- 防止Javascript注入(但保留文本格式和图像)
- 如何在asp.net mvc页面刷新后保留注入的部分视图
- 在找到的字符串后面注入HTML并保留原始HTML