在视图中填充模型并传递控制器

时间:2015-02-03 20:52:30

标签: c# asp.net-mvc

我在asp.net中遇到很多问题因为我是新手。所以我搜索了但我找不到答案。

首先,我的视图引擎是aspx不是剃刀,这是我的主要问题。

这是视图

        <%= Html.HiddenFor(model => model.SharingPremiumHistoryID) %>
    <%= Html.HiddenFor(model => model.ItemId) %>
    <div class="group">
        <span> ارسال به </span>
        <%= Html.DropDownListFor(model => model.SharingTargetType, Model.SharingTypes) %>
    </div>
</hgroup>
<div class="newseditor">
    <div class="input-form">
        <%= Html.LabelFor(model => model.SharingTitle, "عنوان خبر") %>
        <%= Html.TextBoxFor(model => model.SharingTitle) %>
    </div>

    <div class="input-form">
        <%= Html.LabelFor(model => model.Content, "متن خبر") %>
        <%= Html.TextAreaFor(model => model.Content) %>
    </div>
    <div><input id="fileUpload" type="file" />

    </div>
                   <button name="post" type="submit" >ارسال خبر</button>

因为你有一些填充模型的项目。

现在我的问题是如何通过提交按钮将此视图传递给控制器​​(带有Ajax)。

这是控制器

  public virtual ActionResult Add()
    {
        var model = new ResturantSharingViewModel();

        model.SharingTargetType = getSharingTargetTypesSelectListItems();
        return PartialView(model);
    }

2 个答案:

答案 0 :(得分:2)

您需要使用Html.BeginForm并将HttpPost添加到控制器操作。

答案 1 :(得分:1)

在您的视图中使用此代码:

 <% using(Html.BeginForm("HandleForm", "Home")) %>
    <% { %>
       // your code for your page goes here
        <input type="submit" value="Submit" />
    <% } %>

然后在你的控制器中有这样的代码:

  public ActionResult HandleForm()
  {
            // do controller logic here

            return View("FormResults");
  }