.NET C#MVC 4つのメソッドのフォームを送信

転載:https://www.cnblogs.com/KingsLiu/articles/10966593.html

A、MVCのHtmlHelper方法

  1. Html.BeginForm(actionNameの、コントローラ名、方法、htmlAttributes){}

  2. BeginRouteForm方法(HtmlHelperの、文字列、オブジェクト、FormMethod)

第二に、伝統的な形式Acitonのプロパティフォームの提出

 三、jQueryの+ Ajaxのは、フォームを送信します

 四、MVCコントローラおよびコントローラ形態パラメータが渡されました

MVC  HtmlHelper方法

一、Html.BeginForm(actionNameの、コントローラ名、方法、htmlAttributes){}

注:すべてのコンテンツが送信されることは、{}内のボタンを含める必要があります。

パラメータ

HtmlHelperの

タイプ:System.Web.Mvc.HtmlHelper
このメソッドは、HTMLヘルパーインスタンスを拡張します。

actionNameの

タイプ:可能System.String
操作のメソッドの名前。

コントローラ名

タイプ:可能System.String
コントローラの名前。

routeValues

入力:System.Objectの
ルーティングパラメータを含むオブジェクト。反射検索パラメータを使用して、プロパティを使用してオブジェクトを確認します。このオブジェクトは、一般的に作成するために、オブジェクト初期化子の構文を使用しています。

方法

タイプ:System.Web.Mvc.FormMethod
HTTPメソッドの(GETまたはPOST)プロセス・フォーム。

htmlAttributes

タイプ:System.Objectの
HTML属性に設定された要素が含まれているアンオブジェクト。

返却値

タイプ:System.Web.Mvc.Html.MvcForm
<form>タグを開始します。

使用上の注意

Visual BasicとC#では、あなたのことができ  HtmlHelperの  このタイプの任意のオブジェクトにインスタンスメソッド呼び出しの方法。あなたは、このメソッドを呼び出すためにインスタンスメソッドの構文を使用する場合は、最初のパラメータは無視されます

実施例Html.BeginForm方法

MVCコードの表示

コードをコピー
<H1>オンライン</ H1>を適用します
        @using(Html.BeginForm( "適用"、 "スター"、FormMethod.Post、新しい{クラス@ = "MyFormを"}))
        {
            <のdivクラス= "application_b_3">
                <表幅= "820" 国境= "0">
                    <TR>
                        <TD幅= "80" 高さ= "50">达人类型</ TD>
                        <TD WIDTH = "730">
                            @ Html.DropDownListFor(M => m.StarModel.TypeID、Model.DropList、新しい{ID = "タイプ"、@class = "my-"})
                        </ TD>
                    </ TR>
                    <TR>
                        </ TD>家として人々の<TD高さ= "50">
                        <TD>
                             <DIV CLASS = "picture_an" ID = "UploadPhoto" スタイル= "幅:142px">
                                <HREF = "javascriptの:無効(0);" クラス= "btn_addPic"> <span>を<EM> + </ em>の上传照片</ span>の
                                    <入力のtabindex = "3" タイトル= "支持JPG、JPEG、GIF、PNG格式、文件小于5M" サイズ= "3" NAME = "PIC" ID = "absFileInput" クラス= "filePrew" タイプ= "ファイル" / >
                                </a>の
                            </ div>
                        </ TD>
                    </ TR>
                    <TR>
                        <TD高さ= "50"> </ TD>
                        <TD>
                              @ Html.HiddenFor(M => m.StarModel.UserGravatar、新しい{ID = "SXtPhoto"})
                            <IMG SRC = "" ID = "imgPhoto" 高さ= "176px" />
                        </ TD>
                    </ TR>
                    <TR>
                        </ TD>自分自身を紹介する<TD高さ= "100">理由
                        <TD>
                            @ Html.TextAreaFor(M => m.StarModel.ApplyReason、新しい{ID = "tDesc"})
                        </ TD>
                    </ TR>
                    <TR>
                        <TD高さ= "50"> </ TD>
                        <TD>
                            <a href=" javascript:void(0)" id="btnApplication"> <IMG SRC = "@ Url.Content(" 〜/エリア/ SNS /テーマ/デフォルト/コンテンツ/画像/ ap_9.gif ")" ALT = "" /> </a>の
                        </ TD>
                    </ TR>
                </ TABLE>
            </ div>
        }
コードをコピー

二、BeginRouteForm方法(HtmlHelperの、文字列、オブジェクト、FormMethod)

パラメータ

HtmlHelperの

タイプ:System.Web.Mvc.HtmlHelper
このメソッドは、HTMLヘルパーインスタンスを拡張します。

ルート名

タイプ:可能System.Stringは
、フォームの名前を取得するために使用さは、URLのルートを公開しています。

routeValues

入力:System.Objectの
ルーティングパラメータを含むオブジェクト。反射検索パラメータを使用して、プロパティを使用してオブジェクトを確認します。このオブジェクトは、一般的に作成するために、オブジェクト初期化子の構文を使用しています。 

方法

タイプ:System.Web.Mvc.FormMethod
HTTPメソッドの(GETまたはPOST)プロセス・フォーム。

返却値

タイプ:System.Web.Mvc.Html.MvcForm
スタート<form>タグ。

説明書

Visual BasicおよびC#では、次のことが可能  HtmlHelperの  方法として、インスタンスメソッドは、このタイプのすべてのオブジェクトに呼び出します。インスタンスメソッドを呼び出すために、このメソッドの構文を使用する場合は、最初のパラメータを省略します。

BeginRouteForm例

コードをコピー
<DIV CLASS = "グループ検索ボックスclearfix">
           
           (Html.BeginRouteForm( "SearchPage"、{cityID = Model.CityID、でProductType = Model.CurrentProductType、currentPageIndex = Model.CurrentIndex、キーワード= Model.keyword}新しい、FormMethod.Get))@using
           {
                <input type = "text" の名= "キーワード" クラス= "検索-IPTを" [email protected]>
                <INPUT TYPE = "提出" ID = "提出" 値= "搜索" クラス= "gsearch-BTN">
           }
            
</ div>
コードをコピー

伝統的な形式提出フォームAcitonプロパティ

直接使用するのhtmlがAciton属性が提出形成しています。

メソッドの例

コードをコピー
<フォームID = "askform" ACTION = "Url.Action @(" AskForm ")" メソッド= "POST">
       <DIV CLASS = "タイトルエリアoutterのclearfix">
            <スパン> </ span>を
            <選択し、ID = "dplBDTType" 名前= "dplBDTType"> </ select>の                   
            <選択し、ID = "selType" 名前= "selType"> </ select>の   
       </ div>
</フォーム>
コードをコピー

jQueryの+ Ajaxのは、フォームを送信します

 メソッドの例

表示セクション

 <DIV CLASS = "問題" ID = "postWeibo" スタイル= "幅:80px">
       <a href="javascript:void(0)" class="publish-btn">发布する</a>
  </ div>

jQueryとAjaxのセクション

コードをコピー
 //長いマイクロブログをリリース
    $( "#postWeibo")。クリックしてください(関数(){
        。VARのblogid = $( "#HFID")のval();
        。VARタイトル= $( "#タイトル")のval();
        VAR imgurl = $( "#previewImgHide")のval();
        VAR DES = editor.getContent()。
        (タイトル== "")であれば{
            ShowFailTip(「マイクロブログのタイトルは空にすることはできません!」);
            リターン;
        }
 
        IF(title.length> = 40){
            ShowFailTip(「マイクロブログのタイトルは40文字を超えることはできません!」);
            リターン;
        }
        //デジタルかどうかをチェックします
        IF(ますisNaN(有料)){
            ShowFailTip(「テキストは数でなければなりません含めることはできません!」);
            リターン;
        }
        IF(ContainsDisWords(タイトル+ DES)){
            ShowFailTip(「無効に単語を含むあなたのエントリは、再入力してください!」);
            リターン;
        }
 
        $アヤックス({
            URL: "/ FX" + $ Maticsoft.BasePath + "ブログ/ AjaxUpdate"、
            タイプ: 'POST'、
            非同期:偽、
            データ型: 'HTML'、
            //タイムアウト:10000、
            データ:{タイトル:タイトル、CityID:都市、料金:料金、区分:カテゴリ、日数:日、タグ:タグ、たstartDate:STARTDATE、endDateに:ENDDATE、ImgUrl:imgurl、デス:DES、のblogid:のblogid}、//
            成功:機能(resultData){
 
                $( "dialogDiv")非表示()。
                {(resultData == "いいえ")場合
                    ShowFailTip( "操作は、再試行してくださいに失敗しました!");
                }そうであれば(resultData == "AA"){
                    $ .JBox.tip( '管理者の動作不能'、 'エラー');
                } そうしないと {
                    、データ= $(resultData)。
               
                }
            }
        });
    });
コードをコピー

MVCコントローラコントローラとフォームのパラメータが渡されました

1.一般的なパラメータ

HTMLのタグ名とパラメータ名と同じ。

公共のActionResult AskForm(文字列txtTitle、文字列txtEditor、文字列dplBDTType、文字列selType、文字列txtYZM)
 {
     //ロジック
 }

2.物理的なパラメータの受け渡し

HTMLタグ名と属性モデルは、一貫性のある属性

 [HttpPost]
  公共のActionResultは、適用(ViewModel.SNS.Starモデル)
  {
      //ロジック
  }

パラメータ渡しのコレクションを形成します

[HttpPost]
  公共のActionResult適用(FormCollectionフォーム)
  {
      //ロジック
  }

おすすめ

転載: www.cnblogs.com/doc-quan/p/12127650.html