我有兩個具有相同模型的局部視圖,我正在使用devexpress回調。 我的問題是如果我可以知道在我的控制器功能哪部分視圖作出回調,然後渲染它?或者我需要複製函數,並在每個函數中呈現正確的局部視圖?如何在控制器中知道哪個局部視圖進行了回調
0
A
回答
1
您的看法只會回傳給您。因此,您應該將您的視圖名稱傳遞到隱藏的字段容器中,作爲示例,然後從服務器端讀取此值。有人已經回答how to pass view name,我會試着擴展這個答案。
首先,你需要創建一些視圖,路徑解析擴展
public static class IViewExtensions
{
public static string GetViewName(this IView view)
{
string viewUrl = String.Empty;
if (view is BuildManagerCompiledView)
{
viewUrl = ((BuildManagerCompiledView)view).ViewPath;
}
else
{
throw new InvalidOperationException("Buld manager is not defined!");
}
string viewFileName = viewUrl.Substring(viewUrl.LastIndexOf('/'));
string viewFileNameWithoutExtension = Path.GetFileNameWithoutExtension(viewFileName);
return (viewFileNameWithoutExtension);
}
}
那麼你的每個視圖,名稱傳遞到表單容器
@using ViewExtensionNamespace;
<input type="hidden" id="ViewName" name="ViewName" value="@Html.ViewContext.View.GetViewName()" />
,並從服務器端閱讀
name = Request.Params["ViewName"];
+0
我現在嘗試它告訴我誰是控制器和什麼動作,但我想調用該功能的部分視圖名稱... –
+0
對不起,沒有理解你第一次正確的問題。我提供了另一種方式 – Michael
相關問題
- 1. 如何知道哪個視圖與哪個控制器關聯?
- 2. 如何知道哪個視圖控制器呈現視圖控制器
- 3. 如何知道哪個控制器在cakePHP中渲染了佈局?
- 4. 如何知道哪些視圖(或視圖控制器)在棧上?
- 5. 如何在ASP.NET MVC3中的控制器中返回一個局部視圖?
- 6. 如何從視圖模板在軌道中進行控制器函數調用?
- 7. 如何在Laravel中使用控制器進行「部分」視圖?
- 8. 我可以知道在@ControllerAdvice中調用了哪個控制器嗎?
- 9. FileSystemWatcher:如何知道哪個進程進行了更改?
- 10. 我如何知道從哪個主視圖調用的部分視圖?
- 11. 如何讓視圖控制器知道它的視圖的類?
- 12. 如何找到哪個視圖調用ASP.Net中的哪個局部視圖MVC
- 13. 如何調用具有不同控制器的局部視圖?
- 14. 返回兩個局部視圖一個從控制器
- 15. iOS如何知道哪個視圖控制器應該處於活動狀態?
- 16. 如何在進行ajax調用後呈現控制器的局部圖
- 17. MVC - 視圖是否知道控制器?
- 18. 如何在導軌中爲局部視圖定義控制器?
- 19. 如何知道哪個控件在jQuery中提交了表單?
- 20. 我想知道如何在控制器之間進行通信
- 21. 如何引用視圖中另一個控制器的局部視圖?
- 22. 我如何知道這個頁面打哪個控制器?
- 23. C#MVC調試哪個控制器返回視圖
- 24. 視圖控制器有問題確定哪個視圖控制器放回到?
- 25. 從另一個視圖控制器通知視圖控制器
- 26. 如何通知視圖控制器在UIPickerView中選擇了一行?
- 27. 控制器找不到局部視圖
- 28. 如何渲染控制器在主視圖中生成的局部視圖?
- 29. Spring如何知道要返回哪個視圖?
- 30. 如何知道在Intent.ACTION_SEND中選擇了哪個意圖?
我不知道devExpress是不是很難,但是你可以添加一個屬性給viewmodel,你可以把uni que值變成?將其渲染到視圖中的隱藏字段,然後檢查控制器中的屬性以查看您正在接收哪個視圖。 –
我不明白該怎麼做才能添加代碼? –