我有一个局部视图,用户可以在瓶坯的搜索,并且搜索结果显示在一个选择框所示。在我的主视图中,我有一个应该在按下选择按钮后显示搜索结果的部分。当我点击选择按钮是眼下加载正确的信息到我的主视图正确的模型,但主要观点并没有改变。当我点击刷新时,页面正确更新。在插件视图中单击按钮时,如何自动更新页面?重装主视图被点击
我在我的主要应用程序的主视图(Index.vbhtml
)部分:
@Section CUInfo
Credit Union Name: @Model.CUInfo.CUName
end section
这里是我的插件我的控制器方法:
Function ChangeCUInfo(strCUName As String) As ActionResult
m_hostApp.CUInfo.CUName = strCUName
m_hostApp.blnPluginRefreshButtonPressed = True
Return View("Index", m_hostApp)
End Function
我试图设置一个布尔值在hostApp对象中,然后在我的主剃刀视图中调用此函数(如果它为真):
@code
If Model.blnPluginRefreshButtonPressed = True Then
@<script type="text/javascript">
$(function() {
window.location.reload();
});
</script>
End If
Model.blnPluginRefreshButtonPressed = False
End Code
编辑:
JS功能,点击选择按钮时调用:
function loadCU(CUInfo) {
strCU = CUInfo.split('|');
strCUName = strCU[0];
$.ajax({
type: "POST",
url: "/CUContractNumberPlugin/ChangeCUInfo",
data: { "strCUName": strCUName }
});
}
形式,是在插件视图中使用:
@Using (Html.BeginForm("ChangeCUInfo", "CUContractNumberPlugin"))
@<div id="LogoSigSearch" style="height:300px;width:500px;position:relative;">
<span style="display:inline-block;height:20px;width:166px;position:absolute;top:35px;left:5px;">Credit Union Name</span>
<br />
@Html.TextBox("strCUName")
<input type="submit" name="LogoSigSearch$ctl02" value="Search" id="LogoSigSearch_ctl02" tabindex="3" style="width:60px;position:absolute;top:5px;left:352px;" />
<input name="LogoSigSearch$ctl05" type="button" onclick="javascript:clearSearch()" value="Clear" style="position:absolute;top:35px;left:352px;width:60px;" />
<select size="4" name="LogoSigSearch$ctl06" id="LogoSigSearch_ctl06" tabindex="5" style="height:230px;width:342px;position:absolute;top:65px;left:5px;"></select>
<input type="button" name="SelectCU" value="Select" onclick="javascript:loadCU(LogoSigSearch_ctl06.options[LogoSigSearch_ctl06.selectedIndex].value)" tabindex="4" style="width:60px;position:absolute;top:65px;left:352px;" />
</div>
End Using
是否要重新加载整个页面,或只是在搜索结果中的主要观点?无论哪种情况,您都可以通过向按钮点击添加事件处理程序来实现jQuery。 – lopezbertoni 2012-07-06 14:30:57
@lopezbertoni:这并不重要,我。我只想让搜索结果在点击提交按钮时出现在主视图中。我会把jQuery放在插件中吗?如果是这样,我如何让它将该事件传递给主应用程序?如果它在主应用程序中,我该如何让插件触发事件? – gblock 2012-07-06 14:34:34
像@misterjames说:“使用局部视图来渲染查询的结果,甚至在主要页面加载,这简化了您的开发。”这是实现你想要的关键。您可以使用jQuery从部分视图更新主视图。 – lopezbertoni 2012-07-06 19:55:39