mvc3部分视图用于搜索,验证,提交最终结果

时间:2012-02-29 17:09:44

标签: asp.net-mvc-3 validation partial-views form-submit

我正在使用MVC3创建一个UI,根据用户选择生成文本文件消息。用户需要通过ID查找患者,然后通过我的数据库中的名称查找提供者,然后启动文本文件的创建。如果正确的对象传递给它(单独的程序集),我有消息生成器工作。

我需要一些帮助,了解如何实现搜索/选择/清除逻辑,以及提交结果来调用生成器。 (MVC3新手)

我制作了部分视图来显示搜索结果,并且我的索引视图中显示了基本搜索结果。

问题:

我的提供商搜索按姓氏&amp ;;返回提供商列表名字,我需要我的用户选择一个,如果名称不止一个。

如何将这些部分视图放在第三部分中,以发送结果?

如何才能清除部分结果?在发送结果之前,如何确保我在partials中有一个有效值?

任何方向都会有所帮助。感谢。

这是我的HomeController:

 public class HomeController : Controller
{
    private CrdDatabase db = new CrdDatabase(ConfigurationManager.ConnectionStrings["connectionString_CRD_TEST"].ConnectionString);

    public PartialViewResult PatientSearch(string clinicNumber)
    {
        var patient = db.GetCRDPatientInformation(clinicNumber);
        if (patient != null)
        {
            return PartialView("_PatientSearchResult", patient);  
        }
        // need to determine how to return an error message/validation message.
        return PartialView("_PartialClear");  

    }

    public PartialViewResult ProviderSearch(string lastName, string firstname)
    {
        var providerList = db.GetCRDProviderList(lastName, firstname);
        if (providerList.Count < 1)
        {
            return PartialView("_ProviderSearchResults", providerList);
        }
        return PartialView("_PartialClear");
    }

    public ActionResult Index()
    {

        return View();
    }
}

这是_PatientSearchResult.cshtml局部视图:

@model Objects.CRDPatientInfo
<table id="searchResults">
<tr>
    <th>
        Clinic Number
    </th>
    <th>
        Last Name
    </th>
    <th>
        First Name
    </th>
    <th>
        Middle Name
    </th>
    <th>
        Date of Birth
    </th>
    <th>
        Admin Gender
    </th>
</tr>
<tr>
    <td>
       @Model.clinic_number
    </td>
    <td>
       @Model.pat_name_last
    </td>
    <td>
       @Model.pat_name_first
    </td>
    <td>
       @Model.pat_name_mid
    </td>
    <td>
       @Model.pat_birth_date
    </td>
    <td>
       @Model.pat_gender_code
    </td>
</tr>
</table>

_ProviderSearchResults.cshtml类似,只是它循环遍历模型中的列表。

到目前为止,这是我的Index.cshtml:

@{
ViewBag.Title = "Muse Orders Home Page";
}

<h2>@ViewBag.Message</h2>

@using (Ajax.BeginForm("PatientSearch", "Home", new AjaxOptions
{
     HttpMethod = "GET",
     InsertionMode = InsertionMode.Replace,
     UpdateTargetId = "searchPatientResults"
 }))
{
    <text>Clinic Number:</text>
    <input type="text" name="clinicNumber" />
    <input type="submit" name="submitButton" value="Search" />
    <input type="submit" name="submitButton" value="Clear" />

}       

<table id="searchPatientResults">

</table>

@using (Ajax.BeginForm("ProviderSearch", "Home", new AjaxOptions{
     HttpMethod = "GET",
     InsertionMode= InsertionMode.Replace,
     UpdateTargetId= "searchProviderResults"
    }))
{
    <text>Provider Last Name:</text>
    <input type="text" name="lastName" />
    <text>Provider First Name:</text>
    <input type="text" name="firstName" />
    <input type="submit" name="submitButton" value="Search" />
    <input type="submit" name="submitButton" value="Clear" />

 }

  <table id="searchProviderResults">

  </table>

 @using (Ajax.BeginForm("GenerateOrder", "Home", new AjaxOptions
{
     HttpMethod = "POST",
     InsertionMode = InsertionMode.Replace,
     UpdateTargetId = "generateOrder"
 }))
{
    <input type="hidden" name="patient" />
    <input type="hidden" name="provider" />
    <input type="submit" name="submitButton" value="GenerateOrder" />
    <input type="submit" name="submitButton" value="Clear" />

 }

<table id="generateOrder">

</table>

0 个答案:

没有答案