Asp.net mvc MVC@html.textbox用于使用Guid默认值预填充
我的控制器:Asp.net mvc MVC@html.textbox用于使用Guid默认值预填充,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,guid,html.textboxfor,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Guid,Html.textboxfor,我的控制器: [HttpGet] public ActionResult AddEstablishment() { return View("AddEstablishment",new EstablishmentModel()); } public class EstablishmentModel { [Display(Name = "Establishment ID")] public Guid Establi
[HttpGet]
public ActionResult AddEstablishment()
{
return View("AddEstablishment",new EstablishmentModel());
}
public class EstablishmentModel
{
[Display(Name = "Establishment ID")]
public Guid EstablishmentId { get; set; }
.............
@Html.TextBoxFor(x => x.EstablishmentId, new { @id = "inputEstGuid", @class = "input input-xlarge", @placeholder = "5C3B1CBC-2574-4E2A-A9FA-A8CA0041AB86" })
我的型号:
[HttpGet]
public ActionResult AddEstablishment()
{
return View("AddEstablishment",new EstablishmentModel());
}
public class EstablishmentModel
{
[Display(Name = "Establishment ID")]
public Guid EstablishmentId { get; set; }
.............
@Html.TextBoxFor(x => x.EstablishmentId, new { @id = "inputEstGuid", @class = "input input-xlarge", @placeholder = "5C3B1CBC-2574-4E2A-A9FA-A8CA0041AB86" })
我的建立视图:
[HttpGet]
public ActionResult AddEstablishment()
{
return View("AddEstablishment",new EstablishmentModel());
}
public class EstablishmentModel
{
[Display(Name = "Establishment ID")]
public Guid EstablishmentId { get; set; }
.............
@Html.TextBoxFor(x => x.EstablishmentId, new { @id = "inputEstGuid", @class = "input input-xlarge", @placeholder = "5C3B1CBC-2574-4E2A-A9FA-A8CA0041AB86" })
结果:
[HttpGet]
public ActionResult AddEstablishment()
{
return View("AddEstablishment",new EstablishmentModel());
}
public class EstablishmentModel
{
[Display(Name = "Establishment ID")]
public Guid EstablishmentId { get; set; }
.............
@Html.TextBoxFor(x => x.EstablishmentId, new { @id = "inputEstGuid", @class = "input input-xlarge", @placeholder = "5C3B1CBC-2574-4E2A-A9FA-A8CA0041AB86" })
我的文本框正在预填充Guid默认值
00000000-0000-0000-0000-00000000
我如何避免它?
请注意,我向视图传递模型实例的原因很明显。这不应该起作用吗
public Guid? EstablishmentId { get; set; }
当您最初显示视图时,只需确保该值为null。您不需要将模型传递到视图中,如果不传递它,它将起作用 如果您确实必须这样做,请执行以下操作:
private string _establishmentIdAsString = string.Empty;
[Display(Name = "Establishment ID")]
public string EstablishmentIdAsString
{
get
{
return _establishmentIdAsString;
}
set
{
_establishmentIdAsString = value;
EstablishmentId = new Guid(value);
}
}
让我试试看,出于某些原因,我必须将模型传递给视图。如果它是一个空模型,您不必这样做,它只是在呈现视图时实例化一个新模型。不需要额外的检查来确保值是否为null。只需更改为可为null的Guid就可以了。是的,我并没有建议添加其他代码。我只是想让你,作为一个程序员,当你把它绑定到你的文本框时,知道这个值是空的。