2013-08-22 72 views
1

我有一個tabtrip,它是用一組局部視圖動態填充的。每個部分視圖都是一個入口表單,其中一些視圖背後有不同的實體框架數據模型。C#Kendo MVC在部分視圖中的Tabstrip後模型

我想用兩個參數(定位選項卡索引和模型數據)將模型發佈到服務器,只要選擇了不同的選項卡。 (要保存標籤數據)

我的問題是點擊標籤鏈接似乎是'get'操作而不是'post'操作,而且我很難弄清楚如何提交全面的數據並且足夠孤立。 (全面的模型和孤立的是與特定的局部視圖關聯的模型)我假設我可以使用JQuery來查找和執行局部視圖上的更新按鈕的點擊方法,但這不會保留目標索引。

找到唯一標識表單本身並隨後發佈的最佳方法是?任何人在這裏都有提示嗎?

回答

0

我不知道最好的方法是什麼。我所做的是將代碼包裝在我的部分中

@using (Html.BeginForm("Action", "Controller")) 
{ 
} 

然後只需提交按鈕單擊事件。這隻公佈了該部分的信息。如果你想發送多個partials到相同的動作,那麼我會使用一個隱藏的字段,這是在點擊標籤時設置的,你應該可以使用Request.Form [「FieldName」]來獲取該索引。希望有幫助。

編輯:

您也可以嘗試Ajax調用返回到服務器

$.ajax({ 
     url: "@Url.Action("Action", "Controller")", 
     type: 'post', 
     data: {id: 'hiddenfield', data: 'data', etc}, 
     dataType: 'json', 
     contentType: "application/json", 
     success: function (result) { 
      (do something) 
     } 
}); 

以這種方式,你需要將這些字段添加到數據行發送的模式。如果有大量數據,我會建議將其字符串化。您可以將此調用放入提交按鈕單擊事件中。

+0

自從我訪問這裏以來一直是永恆的。但這並不能完全回答我的問題,因爲tabstrip會加載一系列部分視圖,並且部分視圖不是父頁面的一部分。我爲這個謊言休世了一個月而道歉。我更多的JavaScript精明的同事對這個過程沒有任何問題;我不知道該怎麼做。 –

+0

我認爲這個答案是基本上每個部分的表單,所以當你點擊部分表單上的提交按鈕時,它只會提交該表單而不是其他所有內容。我將用另一種提交數據的方式添加編輯 –

0

如上所述使用ajax調用。元素是在父級還是部分頁面上並不重要。一旦呈現html,DOM上的任何元素都可以被引用。

相關問題