【发布时间】:2016-02-17 23:27:35
【问题描述】:
如何在不使用 ajax 在 asp.net mvc 3 中渲染某些特定 div 中的部分视图???
例如我有一个模型:
public class TestViewModel
{
public string FullText
{
get
{
retrun "Full text";
}
}
public string ShortText
{
get
{
return "Short text";
}
}
}
主视图:
@model TestViewModel
...
<div id="RenderHere">
</div>
@Html.ActionLink("Show short text");
@Html.ActionLink("Show full text");
...
还有两个部分视图:
ShortTextParial
@model TestViewModel
@Html.LabelFor(m => m.ShortText);
@Model.ShortText;
和全文部分
@model TestViewModel
@Html.LabelFor(m => m.FullText);
@Model.FullText;
如何在不使用 ajax 的情况下按下“显示短文本”操作链接后在“RenderHere”div 中呈现 ShortTextPartial?我已经找到了这样的解决方案,但它们不适合我。
附:我不想使用 Ajax,因为如果在客户端禁用 Java 脚本,页面将无法正常工作。
【问题讨论】:
-
您可以将部分内容缓存在客户端内存中,然后在点击时显示。 razor 引擎仅在编译时可用,在运行时不可用。因此,ajax 是在运行时与服务器交互而无需刷新页面的唯一方式。
-
你在与粮食作斗争,你为什么不想使用 Ajax?您可以使用
@Ajax.BeginForm代替@Html.BeginForm并将div设置为更新为参数。轻松搞定。 -
我不想使用 Ajax,因为如果在客户端禁用 Java 脚本,页面将无法正常工作。
-
您可以添加查询字符串参数来控制要显示的文本。这意味着您将重新加载整个页面只是为了那一点点文字......
标签: c# asp.net-mvc asp.net-mvc-3