2014-01-10 105 views
0

在這裏我有一個場景,就像我有一個頁面中有4個文本框..如果數據庫中有值,我必須在那4個相應的文本框中顯示這4個值,否則我必須將這4個文本框顯示爲空。現在,我有通過檢查模型數如下如何在視圖中顯示相同的控件而不重複它?

if (Model.Count() > 0) 
{ 
    // binding the model values to those 4 textbox 
} 
else 
{ 
    //show 4 textbox 
} 

實現它,但我在這裏重複,如果兩者裏面那些4個相同的控制和其他condition.Is有任何其它的方式來實現this.Any建議?

+0

從你的代碼看起來像你正在使用模型清單...你能告訴我們更多的代碼 – Nilesh

回答

2

假設你有測試模型如下

public class Test 
{ 
    public string TextBox1 { get; set; } 
    public string TextBox2 { get; set; } 
    public string TextBox3 { get; set; } 
    public string TextBox4 { get; set; } 
} 

現在在控制器檢查該值在DB存在,或不按返回值

public ActionResult Index() 
    { 
     Test test = new Test(); 
     var valExit == DBCheckFunction(); 
     if(valExit ! = null) 
     { 
      test.TextBox1 = valExit.val1 ; 
      test.TextBox2 = valExit.val2 ; 
      test.TextBox3 = valExit.val3 ; 
      test.TextBox4 = valExit.val4 ; 
      return View(test); 
     } 
     else 
     { 
      return view(test); 
     } 

    } 

你的看法是簡單和與之綁定模式,需要編寫一次

@model NameSpace.Models.Test 

@Html.TextBoxFor(m=>m.TextBox1) 
. 
. 
. 
so on 

它會比自動

我希望這是你想要

+0

這是正確的..但我認爲他正在使用'List '這就是他爲什麼要檢查'Model.Count() ' – Nilesh

+0

@Nilesh如果它比我會嘗試替代解決方案。感謝你的關心 。 – Dilip0165

0

嘗試TableLayoutPanel中,你可以限制其大小,並且可以在單個細胞中添加只有一個控制,這將避免你的repeation問題

0

什麼您可以將模型綁定到文本框,它會自動將數據在文本框中,如果它出現在你的模型。 例如 這是我的模型TextBoxValuesModel.cs

public class TextBoxValuesModel 
{ 
    public string value1 { get; set; } 
    public string value2 { get; set; } 
    public string value3 { get; set; } 
    public string value4 { get; set; } 
} 

現在控制器我把一些價值模型&後發送給我的觀點TextBoxValues.cshtml

public ActionResult TextBoxValues() 
    { 
     Models.TextBoxValuesModel tc = new Models.TextBoxValuesModel(); 
     tc.value1 = "me"; 
     tc.value2 = "you"; 
     tc.value3 = "are"; 
     tc.value4 = "go"; 
     return View(tc); 
    } 

現在,在我看來,我將結合這像這樣

@model DisplayModes.Models.TextBoxValuesModel 
@{ 
    ViewBag.Title = "TextBoxValues"; 
} 

@Html.EditorFor(m => m.value1) 
<br/> 
@Html.EditorFor(m => m.value2) 
<br/> 
@Html.EditorFor(m => m.value3) 
<br/> 
@Html.EditorFor(m => m.value4) 

這裏文本框模型,如果我不把任何數據模型的對象然後,控制器文本框會空&如果我把值,那麼它會顯示在文本框中。

相關問題