2013-08-01 22 views
2

未來視圖值顯示標籤我有鑑於一個標籤,我需要在標籤中顯示的值,我已經分配的值在控制器標籤..如何從視圖

,這是模型

namespace MvcSampleApplication.Models 
{  
    public class labelsdisplay 
    { 
     public string labelvalue { get; set; }  
    } 
} 

,這是我的控制器

namespace MvcSampleApplication.Controllers 
{ 
    public class LbelDisplayController : Controller 
    {    
     public ActionResult Index() 
     { 
      labelsdisplay lbldisx = new labelsdisplay(); 
      string name = "ABC"; 
      lbldisx.labelvalue = name;  
      return View(lbldisx); 
     }  
    } 
} 

這個視圖(強類型視圖)

@model MvcSampleApplication.Models.labelsdisplay 
@{ 
    ViewBag.Title = "Index"; 
}  
<h2>Index</h2> 
@using (@Html.BeginForm()) 
{  
    @Html.LabelFor(m=>m.labelvalue)  
} 

我的問題是無法顯示值(「ABC」),而不是顯示「labelvalue」在該標籤中查看... 任何人都可以建議任何解決方案...在這....

非常感謝..

+1

你確實需要一個'label'元素,或者你只是想顯示值? –

+0

我不確定通常在web應用程序中使用標籤,但在mvc中是否有其他方法.. –

回答

4

只顯示值,你可以使用

@Html.DisplayNameFor(m=>m.labelvalue) 

或者,如果你想顯示與值的標籤元素,你可以使用

@Html.LabelFor(m=>m.labelvalue, Model.labelvalue) 

的第一個參數是值了名稱,第二個參數是標籤的值。

+0

非常感謝.... –

3

變化

@Html.LabelFor(m=>m.labelvalue) 

<label>@Model.labelvalue</label> 

(或者如果你不需要標籤標籤,則省略標籤標籤)。

@ -operator將採取你給它的任何內容並將它變成一個字符串,對該字符串進行HTML編碼(除非你給它的是一個IHtmlString)並在輸出中呈現編碼字符串。另一方面,

Html.LabelFor旨在與表單模型一起使用。比方說,你有這樣的

public class PersonForm 
{ 
    public string Firstname { get; set;} 
    public string Lastname { get; set;} 
} 

模型和動作medthod接受這種形式作爲參數:現在

public ActionResult CreatePerson(PersonForm form){ 
    /* Create new person from form */ 
} 

,在你看來,顯示標籤爲Firstname場,您使用Html.LabelFor()

@model PersonForm 

@Html.LabelFor(m => m.Firstname) 

這將使得類似<label for="Firstname">Firstname</label>。如果你不是想呈現像<label for="Firstname">Please enter firstname</label>你將屬性附加到Firstname屬性:

public class PersonForm 
{ 
    [Display(Name = "Please enter firstname")] 
    public string Firstname { get; set;} 

    [Display(Name = "Please enter lastname")] 
    public string Lastname { get; set;} 
} 

其中屬性是從System.ComponentModel.DataAnnotations命名空間。

+0

非常感謝..... –