2013-09-16 40 views
0

是否有可能我填充模型的字段的表的tds的內容。當然不使用JavaScript。 我想通過一個模型來查看和獲取tds的內容。 有些東西像文本框:@ Html.TextBoxFor(m => m.username)我可以填充模型的字段由tds沒有javascript

是否有可能我有這樣的tds的東西?我可以用什麼來代替tds?

    <tr class="darckTr"> 
         <td>code :</td> 
         <td id="tdPobox" colspan="3">12345</td> 
         <td>Email :</td> 
         <td id="tdEmail">[email protected]</td> 
        </tr> 

回答

0

這聽起來像你想要的是一個顯示模板。創建.cshtml視圖,例如「ContactDetails.cshtml」:

@model ContactDetails 

<tr class="darckTr"> 
    <td>code :</td> 
    <td id="tdPobox" colspan="3">@Model.PoBox</td> 
    <td>Email :</td> 
    <td id="tdEmail">@Model.Email</td> 
</tr> 

如果你的局部視圖的文件名模型中的類型相匹配,它會自動使用。否則,你有幾個選擇。請指定部分在你的模型,如:

public class MyWrappingClass 
{ 
    [UIHint("_ContactDetails")] 
    public ContactDetails Details { get; set; } 
} 

然後做你的觀點:

@model MyWrappingClass 

@Html.DisplayFor(m => m.Details) 

或者,乾脆直接指定您的視圖模板:

@model MyWrappingClass 

@Html.DisplayFor(m => m.Details, "_ContactDetails") 

Brad Wilson在模板上寫了一篇很好的博客文章,包括如何解決這些問題:

http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html

編輯

如果你想保存這些值回POST,你需要有一個包含值的輸入元素。在你的情況下,最好的辦法是使用隱藏字段,例如:

@Html.HiddenFor(m => m.Username) 
+0

不,不希望顯示。我想把td的值放到我的ViewModel中。例如我的一個ViewModel屬性是:public string email {get;組; }。我想把「[email protected]」放進去。沒有java腳本的cource – niki

+0

@niki看我的編輯。 –

+0

我通過java腳本填充td的。我的意思是我通過javascript cod發送「12345」和「[email protected]」到tds。現在我該如何獲得td的值併發送給HiddenFor?只用javascript?有什麼辦法嗎? – niki