2016-07-31 91 views
0

您好我想要清除MVC5.I中使用ModelState.clear()在控制器中单击提交按钮后,所有字段。但是这只能清除文本框的值。它没有清除单选按钮和下拉值。所以任何人都会告诉我这个问题的解决方案。通过单击MVC5中的提交按钮清除所有字段

我的视图模型(CustomerViewModel)

public System.Guid CustomerID { get; set; } 
    [Required(ErrorMessage = " Enter The Customer Name.")] 
    [StringLength(100, ErrorMessage = "Name Only Accepted 100 Characters.")] 
    public string CustomerName { get; set; } 
    public System.Guid CustomerTypeID { get; set; } 
    [Required(ErrorMessage = "CustomerType Required.")] 
    public string CustomerType { get; set; 
    public System.Guid AddressID { get; set; } 
    public string Address { get; set; } 
    public string Street { get; set; } 
    public string Location { get; set; } 
    public string Place { get; set; } 
    public Nullable<System.Guid> AreaID { get; set; } 
    public string Area { get; set; } 
    public Nullable<System.Guid> CityID{ get; set; } 
    public string City { get; set; } 
    public string PinCode { get; set; } 

我查看

@Html.Label("Customer Name", new { @class = "control-label" }) 
    @Html.ValidationMessageFor(model => model.CustomerName) 
    @Html.TextBoxFor(model => model.CustomerName, new { @class = "form-control required", type = "text" }) 


    @Html.Label("Customer Type", new { @class = "control-label" }) 
    @Html.DropDownList("CustomerTypeID", null, "Select", new { @class = "form-control required" }) 


    @Html.LabelFor(model => model.Street, new { @class = "control-label" }) 
    @Html.TextBoxFor(model => model.Street, new { @class = "form-control", type = "text required" }) 
    @Html.ValidationMessageFor(model => model.Street) 


    @Html.LabelFor(model => model.Location, new { @class = "control-label" }) 
    @Html.TextBoxFor(model => model.Location, new { @class = "form-control", type = "text " }) 
    @Html.ValidationMessageFor(model => model.Location) 


    @Html.LabelFor(model => model.Place, new { @class = "control-label" }) 
    @Html.TextBoxFor(model => model.Place, new { @class = "form-control", type = "text" }) 
    @Html.ValidationMessageFor(model => model.Place) 


    @Html.LabelFor(model => model.Area, new { @class = "control-label" }) 
    @Html.DropDownList("AreaID", null, "Select", new { @class = "form-control required" }) 

    @Html.LabelFor(model => model.PinCode, new { @class = "control-label" }) 
    @Html.TextBoxFor(model => model.PinCode, new { @class = "form-control", type = "text" }) 
    @Html.ValidationMessageFor(model => model.PinCode) 

我的控制器

public ActionResult Create() 
    { 
     return View(); 
    } 

    [HttpPost] 

    Public ActionResult Create(CustomerViewMode CVM) 
    { 

    var Customerobj = new Customer 
    { 
    CustomerID= Guid.NewGuid(), 
    CustomerName= CVM.CustomerName; 
    // remaining saving code 

    }; 

    db.Customers.Add(Customerobj); 
    ModelState.Clear(); 
     return View(); 
    } 

Advance Advance ..

+0

你好。你应该在你的问题中包含一段代码。你很难得到任何回应,没有任何相关的代码片段显示你的问题。 – Christos

+0

现在检查我的代码Christos –

+0

可能重复的[Asp.net MVC ModelState.Clear](http://stackoverflow.com/questions/1775170/asp-net-mvc-modelstate-clear) –

回答

0

ModelState.clear()用于清除ModelState字典中的错误或用户设置的任何验证。您可以使用以下代码,在POST方法重定向完成GET方法并且初始化新模型。

[HttpGet] 
public ActionResult Index() 
{ 
    AdminModel model = new AdminModel(); 
    return View(model); 
} 
[HttpPost] 
public ActionResult Index(AdminModel model,FormCollection c) 
{ 
    if (ModelState.IsValid) 
    { 
     return RedirectToAction("Index", new { Controller = "Sample1" }); 
    } 

     return View(model); 

} 
+0

不,我不想返回索引页。我必须输入很多条目。所以我无法点击每次添加按钮并输入表单。所以只有我问这个明确的选项.. –

相关问题