我想在创建视图中创建一个按钮,以检查用户是否在表中找到了用户。如果用户找到,则名称,位置和目录号码的文本框字段将写在同一页面中。
低于我在视野中所做的
@using (Html.BeginForm("Create", "Tickets", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.LabelFor(model => model.Badge, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Badge, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Badge, "", new { @class = "text-danger" })
@Html.ActionLink("Search", "GetInfo", null, new { badge = Model.Badge })
</div>
</div>
这是我的控制器方法
[HttpPost]
public ActionResult GetInfo(string badge, Ticket ticket)
{
var customers = from c in db.CUSTOMERS select c;
//if (badge == null)
ticket.Badge = badge;
if (String.IsNullOrWhiteSpace(badge))
{
return Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString());
}
foreach (CUSTOMER c in customers)
{
if (badge == c.DIRECTORY_NUMBER)
{
ticket.Name = c.NAME;
ticket.Badge = c.BADGE_NUMBER;
ticket.Phone = c.BADGE_NUMBER;
ticket.Location = c.LOCATION;
return Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString());
}
}
return Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString());
}
我每次都得到的错误是 对象引用未设置为对象的实例。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 @ Html.ActionLink(“搜索”,“GetInfo”,null,新{badge = Model.Badge})
我认为我的错误是如何将徽章编号从视图传递到控制器。
任何人都可以帮助我。 在此先感谢。