我有一個局部視圖,用戶可以在瓶坯的搜索,並且搜索結果顯示在一個選擇框所示。在我的主視圖中,我有一個應該在按下選擇按鈕後顯示搜索結果的部分。當我點擊選擇按鈕是眼下加載正確的信息到我的主視圖正確的模型,但主要觀點並沒有改變。當我點擊刷新時,頁面正確更新。在插件視圖中單擊按鈕時,如何自動更新頁面?重裝主視圖被點擊
我在我的主要應用程序的主視圖(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