2

我的控制器:MVC @ html.textboxfor GUID爲默認值預填充

[HttpGet] 
public ActionResult AddEstablishment() 
{  
    return View("AddEstablishment",new EstablishmentModel()); 
} 

我的模型:

public class EstablishmentModel 
{ 
    [Display(Name = "Establishment ID")] 
    public Guid EstablishmentId { get; set; } 
    ............. 

我AddEstablishment查看:

@Html.TextBoxFor(x => x.EstablishmentId, new { @id = "inputEstGuid", @class = "input input-xlarge", @placeholder = "5C3B1CBC-2574-4E2A-A9FA-A8CA0041AB86" }) 

結果:

enter image description here

我的文本框與的GUID默認值

00000000-0000-0000-0000-000000000000

如何避免它預先填充?

請注意,我將模型實例傳遞給視圖的原因很明顯。

回答

4

不應該工作嗎?

public Guid? EstablishmentId { get; set; } 

只要確保值爲null當你最初顯示您的視圖。

+0

簡短,這工作。 – ssilas777 2013-02-28 14:50:39

+0

無需額外的檢查來確保值是否爲空。只是改變爲可空的Guid就可以做到這一點。 – ssilas777 2013-02-28 15:07:25

+0

是的,我沒有建議額外的代碼。我只是確保你作爲一個程序員知道,當你將它綁定到你的文本框時,它的值將是空的。 – Ellesedil 2013-02-28 15:09:42

1

你不需要模型傳遞到視圖,如果你不把它傳遞

如果你真的要,爲此,它會工作:

private string _establishmentIdAsString = string.Empty; 
[Display(Name = "Establishment ID")] 
public string EstablishmentIdAsString 
{ 
    get 
    { 
     return _establishmentIdAsString; 
    } 
    set 
    { 
     _establishmentIdAsString = value; 
     EstablishmentId = new Guid(value); 
    } 
} 
+0

讓我試試看,我必須通過模型來查看某些原因。 – ssilas777 2013-02-28 14:43:05

+0

如果它不是一個空模型,它只是在渲染視圖時創建一個新模型 – 2013-02-28 14:43:58