2016-04-02 21 views
1

Bazı bootstrap metin kutularında bazı verilerde veri göstermeye çalışıyorum.Veritabanından veri alma ve bir viewmodel görünümüne geçirme

Webforms içinde normal olarak TextBox.Text=Datatable.Rows[0]["FieldName"].ToString() gibi bir şey kullanarak metin kutularının .text özelliklerini ayarlayın ve MVC için yeni olmama izin verdim. Neyse burada

Ben DB'den veri almak böyle bir ActionResult sahip

ne var. Veri güzel geliyor. Tek yapmam gereken onları birbirine bağladım.

public ActionResult CompanySettings() 
     { 
      ClaimsIdentity identity = (ClaimsIdentity)User.Identity; 
      int CompanyId = Convert.ToInt32(identity.FindFirst("CompanyId").Value); 
      //----------------------------- 
      ViewBag.CompanyId = CompanyId; 
      ViewBag.Page = "Inbox"; 
      string Name = identity.Name; 
      string CompanyName = identity.FindFirst("CompanyName").Value; 



      ViewBag.Name = Name; 
      ViewBag.CompanyName = CompanyName; 
      //----------------------------- 

      DataSet ds = CompanyDB.Company_Get_Info(CompanyId); 
      return View(); 
     } 

ve

public class CompanySettingViewModel 
    { 
     [Display(Name = "CompanyType")] 
     public CompanyType CompanyType { get; set; } 

     //and many more fields like this. 
    } 

Ben her durumda benim de html parçasını post ediyorum (örnek olarak yalnızca bir alan gösteriliyor) benim ViewModel

<table> 
    <tr> 
    <td> 
     <div class="registerbox-textbox"> 
      <h6>Company Type</h6> 
     @Html.Bootstrap().TextBoxFor(t=>t.CompanyType).Placeholder("FirmaTipi") 
     </div> 
    </td> 
//again many repeating same type fields inside a table 
<tr> 
<table> 

Bu muhtemelen çok basit bir şeydir ve kolay ama sıkışıp kaldım. Herhangi bir fikri olan var mı?

cevap

4
public ActionResult CompanySettings() 
    { 
     ClaimsIdentity identity = (ClaimsIdentity)User.Identity; 
     int CompanyId = Convert.ToInt32(identity.FindFirst("CompanyId").Value); 
     //----------------------------- 
     ViewBag.CompanyId = CompanyId; 
     ViewBag.Page = "Inbox"; 
     string Name = identity.Name; 
     string CompanyName = identity.FindFirst("CompanyName").Value; 



     ViewBag.Name = Name; 
     ViewBag.CompanyName = CompanyName; 
     //----------------------------- 

     DataSet ds = CompanyDB.Company_Get_Info(CompanyId); 
     CompanySettingViewModel NewModel= new CompanySettingViewModel(); 
     NewModel.CompanyType = "AnyValue" //Pass the Company Type value to model 
     return View(NewModel); 
    } 

ve görünümü olacaktır

<table> 
    <tr> 
    <td> 
     <div class="registerbox-textbox"> 
      <h6>Company Type</h6> 
     @Html.TextBoxFor(t=>t.CompanyType, new { @placeholder = "FirmaTipi" }) 
     </div> 
    </td> 
//again many repeating same type fields inside a table 
<tr> 
<table> 
İlgili konular