使用jquery mobile MVC刷新时Raty stars评级消失
Raty stars评级在使用jquery mobile刷新时消失 守则: 布局:使用jquery mobile MVC刷新时Raty stars评级消失,jquery,asp.net-mvc,jquery-mobile,raty,Jquery,Asp.net Mvc,Jquery Mobile,Raty,Raty stars评级在使用jquery mobile刷新时消失 守则: 布局: <body> <div data-role="page"> <div data-role="header" data-position="fixed" style="height:12px"></div> <div class="ui-content" role="main">@RenderBody()</div>
<body>
<div data-role="page">
<div data-role="header" data-position="fixed" style="height:12px"></div>
<div class="ui-content" role="main">@RenderBody()</div>
<div data-role="footer" data-position="fixed" style="text-align:center;"></div>
</div>
</body>
@RenderBody()
祈祷页面:
@{
Layout = "~/Views/Shared/_Layout.Mobile.cshtml";
}
<script>
$('#star').raty({
number: 5,
path: '/Images',
size: 24,
width: 150,
click: function (score)
{
$("#Valor").val(score);
}
});
</script>
@using (Html.BeginForm("AvaliarOrador", "Mobile", FormMethod.Post, new { @id = "frmAvaliarOrador" }))
{
<input type="hidden" id="Valor" name="Valor" />
<div id="star" style="padding-top: 20px; padding-bottom: 10px; margin-left: auto; margin-right: auto; cursor: pointer; width: 170px"></div>
}
@{
Layout=“~/Views/Shared/_Layout.Mobile.cshtml”;
}
$('星').raty({
编号:5,
路径:'/Images',
尺码:24,
宽度:150,
点击:功能(分数)
{
$(“#Valor”).val(分数);
}
});
@使用(Html.BeginForm(“avaliarador”,“Mobile”,FormMethod.Post,new{@id=“frmAvaliarOrador”}))
{
}
如果我刷新页面,星星将消失,我必须再次返回主页,刷新并重新开始。从我所看到的情况来看,这不是ASP.NET的问题,很可能是jQuery Mobile的问题 要理解这个问题,您需要了解jQuery Mobile如何处理页面和JavaScript。它使用AJAX将页面加载到DOM中 第一页正常加载。它的头部和身体被加载到DOM中。该内容将留在那里(除非页面刷新),等待进一步的内容加载。当加载第二个页面时,只有它的主体内容被加载到DOM中,当我说它的主体内容时,我指的是带有属性data role=“page”的DIV及其内部内容 这听起来可能不是什么问题,但你应该三思而后行。如果我们有几个HTML页面,每个页面都有一些独特的东西,比如说不同的JavaScript只在页面执行期间使用,更不用说其他CSS文件了。在这些文件头中找到的所有内容都将被丢弃,其JavaScript将不会被执行。当页面刷新时,同样的事情也会发生
阅读更多关于it+解决方案的信息。对于您发布的代码,您的期望是什么?您是否希望页面继续显示您最初选择的星星数?你是否在某个地方坚持你的明星选择,以便在刷新时重新显示?嗨,谢谢。是的,我想在刷新页面后显示星星。如果前面的选择会出现,那就好了,但现在最重要的是展示它们,因为它们会消失。