如何在mvc中自动从数据库中检索数据?

时间:2014-01-27 10:47:46

标签: asp.net-mvc database textbox petapoco

这是一个创建视图页面,我有插入供应商信息,并且它正在成功插入数据。我想在输入名称时自动获取此数据并且存在它将显示这些字段中的所有数据,如果不存在则我将保存到表中。

 @model FCBook.Supplier

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>Supplier</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.SupplierName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.SupplierName)
            @Html.ValidationMessageFor(model => model.SupplierName)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Email)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Email)
            @Html.ValidationMessageFor(model => model.Email)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.PhoneNo)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.PhoneNo)
            @Html.ValidationMessageFor(model => model.PhoneNo)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Address)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Address)
            @Html.ValidationMessageFor(model => model.Address)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Area)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Area)
            @Html.ValidationMessageFor(model => model.Area)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.District)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.District)
            @Html.ValidationMessageFor(model => model.District)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Division)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Division)
            @Html.ValidationMessageFor(model => model.Division)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Country)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Country)
            @Html.ValidationMessageFor(model => model.Country)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

我对这个创建视图的控制器操作是

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

        //
        // POST: /Supplier/Create

        [HttpPost]
        public ActionResult Create(Supplier collection)
        {
            try
            {
                // TODO: Add insert logic here
                var db = new PetaPoco.Database("FCBook");
                if (collection != null)
                {
                    collection.Insert();
                }
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

1 个答案:

答案 0 :(得分:0)

我认为您希望使用Remote验证。用户在您的某个字段中输入值后,可以触发它。我正在使用这种方法在发生此类事件时填充其他字段。