2014-11-04 58 views
4

我們目前有一個vb web表單應用程序,我們希望將其遷移到C#MVC。我們並不想完全重寫,而是希望一次移動一個項目。將WebForm VB Web應用程序轉換爲MVC C#逐漸

我知道它可能與web表單的混合項目和MVC詳述如下:

http://blog.falafel.com/integrating-aspnet-mvc-4-into-existing-web-forms-applications/

但我的問題是,如果Web應用程序的外部頁保留VB/asp.net網頁形式,當用戶點擊一個區域,即在c#/ razor mvc中重寫的按鈕時,如何加載/指導用戶並在Web表單中呈現剃鬚刀視圖。

我可以在webforms中渲染剃鬚刀視圖嗎?

如果不是我可以直接到一個新的標籤?

任何想法如何做到這一點?

感謝

+0

通過你的意思是母版頁外的頁面?只需要一個單獨的MVC母版頁來替換Web窗體。順便說一句,你沒有任何理由從Web窗體遷移。很可能這是一個毫無意義的練習。 – Stilgar 2014-11-06 07:27:56

回答

0

我目前正在同hubryd項目中,我有一部分的WebForm和MVC部分。

我們試圖擺脫WebForms部分。

,我拿出的策略是:

  1. 獲取從Web窗體到BL層中的所有邏輯解決方案中的
  2. 更換所有模態對話框不需要回來後的結果與MVC +剃刀局部視圖。 這很容易通過AJAX來完成。在WebForm中可點擊元素:

OnClientClick='<%# "showEntityList("+Eval("Id")+"); return false;" %>'

js代碼,使AJAX調用(使用jQuery對話框這個功能後):

function showEntityList(Id) { 
    dialogSaveCancel(
     { 
      title: "Entity List", 
      urlPost: '/ControllerName/ControllerMethodName?id=' + Id, 
      callback: 
       { 
        success: function (data, textStatus, jqXHR) { 
         var url = 'test'; 
         window.location.replace(url); 
        }, 
        error: function() { } 
       } 
     }); 
}; 

所以你可以在Web窗體部分的Razor視圖。

  1. 最後我做什麼時用MVC部分視圖取代所有簡單部分是使用RazorView重新獲得WebForm。

如果你想有一個新的選項卡,你也可以用js:

function ShowInNewTab(path) { 
    window.open(SiteAppRootPath + path, '_blank'); 
} 
+0

謝謝你的關注 – tau 2014-11-06 09:31:20