使用参数调用相同的操作方法

时间:2014-09-01 10:58:36

标签: asp.net-mvc

我有一个网页,用户必须在文本框中输入一些值。根据输入的值,我必须使用db调用的值填充同一页面中的另一个字段。

我有一个“搜索”按钮,单击该按钮将获取文本框中的值,并使用数据库调用中的值填充另一个字段。

我有单个方法使用参数SOWNO创建。参数SOWNO的值应来自文本框(我在视图中使用Html.Textbox(“SOWNO”)。

要考虑的是,使用相同的表单将使用Create [Action]方法的HTTP [Post]版本向DB提交已完成的值。

请参阅以下代码

public ActionResult Create(string SOWNO)
{

        ONBOARDING_DATA od = new ONBOARDING_DATA();

        if (!string.IsNullOrEmpty(SOWNO))
        {
            List<SelectListItem> kins = new List<SelectListItem>();

            var xx = repository.GetAllKinIds(SOWNO);

            foreach(string kinid in xx)
            {
                kins.Add(new SelectListItem() { Text = kinid, Value = kinid });
            }

            ViewBag.KinIdList = kins;
        }

        return View(od);
    }

以下是视图的代码

@model ScopeSow.Models.ONBOARDING_DATA
@{
ViewBag.Title = "New Onboarding Request";
}

<section id="contact">

    @using (Html.BeginForm("Create","Onboarding")) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>New Onboarding Request</legend>
            <table>
            <tr>
                <td>Sow No:</td>
                <td>
                    <div class="editor-field">
                        @Html.TextBox("SOWNO")
                    </div>
                </td>
                <td>
                    <input Type="button" value="Search" class="selectbutton"   onclick="location.href='@Url.Action("Create", "Onboarding")'" />
                </td>
                <td>Kin Id:</td>
                <td>
                    <div class="editor-field">
                        @Html.DropDownListFor(model =>model.KIN_ID, new SelectList(ViewBag.KinIdList, "Value","Text"), new {@class="form-control"})

                     </div>
                </td>

我想使用Html.Textbox(“SOWNO”)中的值作为Create Action方法的参数。

所以Route应该是这样的/ Onboarding / Create /?SOWNO =某个值 其中Onboarding是控制器,Create是操作方法。

知道怎么做吗?

由于 Parameswaran

1 个答案:

答案 0 :(得分:0)

使用此代替文本框

<div class="editor-field">
    @Html.TextBoxFor("SOWNO")
</div>