使用jquery mobile MVC刷新时Raty stars评级消失

使用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>

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>

    <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+解决方案的信息。

对于您发布的代码,您的期望是什么?您是否希望页面继续显示您最初选择的星星数?你是否在某个地方坚持你的明星选择,以便在刷新时重新显示?嗨,谢谢。是的,我想在刷新页面后显示星星。如果前面的选择会出现,那就好了,但现在最重要的是展示它们,因为它们会消失。