2015-02-03 18 views
6

Mam wiele problemów w asp.net, ponieważ jestem nowy z tym. więc szukałem, ale nie znalazłem odpowiedzi.Wypełnij Model w widoku i przekazać go kontrolerowi

Przede wszystkim mój silnik widoku to aspx nie brzytwa i jest to mój największy problem.

to Zobacz

 <%= 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> 

jak więc mam pewną pozycję, które wypełniają model.

teraz moje pytanie brzmi, jak przekazać ten widok do kontrolera (bez Ajax) za pomocą przycisku Wyślij.

i to kontroler

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

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

Odpowiedz

1

tego kodu w widoku:

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

wtedy kod jak to w kontrolerze:

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

      return View("FormResults"); 
    } 
2

Musisz użyć Html.BeginForm i dodać HttpPost do działania kontrolera.

+0

dziękuję @beautifulcoder, ale moim zdaniem silnik jest aspx – salar

+2

@salar - żaden to się liczy. '<% Using (Html.BeginForm())%>' działa również z mechanizmem widoku WebForms. Dodatkowo, '[HttpPost]' jest adnotacją danych, która przechodzi na twój kontroler/akcję - nie ma nic wspólnego z mechanizmem wyświetlania. – Tommy

Powiązane problemy