MVC中提交表單的4種方式

一,MVC? HtmlHelper方法
  1. Html.BeginForm(actionName,controllerName,method,htmlAttributes){}
  2. BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod)
二,傳統Form表單Aciton屬性提交
三,Jquery+Ajax 提交表單
四,MVC Controller控制器和表單參數傳遞

MVC? HtmlHelper方法

?

一,Html.BeginForm(actionName,controllerName,method,htmlAttributes){}

注:所有要提交的內容包括按鈕都必須在{ }內

參數

htmlHelper
類型:System.Web.Mvc.HtmlHelper 此方法擴展的 HTML 幫助器實例。
actionName
類型:System.String 操作方法的名稱。
controllerName
類型:System.String 控制器的名稱。
routeValues
類型:System.Object 一個包含路由參數的對象。 通過檢查對象的屬性,利用反射檢索參數。 此對象通常是使用對象初始值設定項語法創建的。
method
類型:System.Web.Mvc.FormMethod 用于處理窗體的 HTTP 方法(GET 或 POST)。
htmlAttributes
類型:System.Object 一個對象,其中包含要為該元素設置的 HTML 特性。

返回值

類型:System.Web.Mvc.Html.MvcForm <form> 開始標記。

用法說明

在 Visual Basic 和 C# 中,您可以對 HtmlHelper 類型的任何對象將此方法作為實例方法調用。在您使用實例方法語法調用此方法時,將忽略第一個參數

Html.BeginForm 方法示例

MVC View代碼

復制代碼
復制代碼
 <h1>在線申請</h1>@using (Html.BeginForm("Apply", "Star", FormMethod.Post, new  {@class="MyForm"})){<div class="application_b_3"><table width="820" border="0"><tr><td width="80" height="50">達人類型</td><td width="730">@Html.DropDownListFor(m => m.StarModel.TypeID, Model.DropList, new { id = "type", @class = "my-" })</td></tr><tr><td height="50">首頁達人照</td><td><div class="picture_an" id="UploadPhoto" style="width: 142px"><a href="javascript:void(0);" class="btn_addPic"><span><em>+</em>上傳照片</span><input tabindex="3" title="支持jpg、jpeg、gif、png格式,文件小于5M" size="3" name="pic" id="absFileInput" class="filePrew" type="file" /></a></div></td></tr><tr><td height="50"></td><td>@Html.HiddenFor(m => m.StarModel.UserGravatar, new { id = "SXtPhoto" })<img src="" id="imgPhoto"  height="176px" /></td></tr><tr><td height="100">自薦理由</td><td>@Html.TextAreaFor(m => m.StarModel.ApplyReason, new { id = "tDesc" })</td></tr><tr><td height="50"></td><td><a href=" javascript:void(0)" id="btnApplication"><img src="@Url.Content("~/Areas/SNS/Themes/Default/Content/images/ap_9.gif")" alt="" /></a></td></tr></table></div>}
復制代碼
復制代碼

二,BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod)

參數

htmlHelper
類型:System.Web.Mvc.HtmlHelper 此方法擴展的 HTML 幫助程序實例。
routeName
類型:System.String 用于獲取窗體發布 URL 的路由的名稱。
routeValues
類型:System.Object 一個包含路由參數的對象。 通過檢查對象的屬性,利用反射檢索參數。 此對象通常是使用對象初始值設定項語法創建的。
method
類型:System.Web.Mvc.FormMethod 用于處理窗體的 HTTP 方法(GET 或 POST)。

返回值

類型:System.Web.Mvc.Html.MvcForm 一個開始 <form> 標記。

使用說明

在 Visual Basic 和 C# 中,可以在 HtmlHelper 類型的任何對象上將此方法作為實例方法來調用。當使用實例方法語法調用此方法時,請省略第一個參數。

BeginRouteForm示例

復制代碼
復制代碼
<div class="group-search-box clearfix">@using (Html.BeginRouteForm("SearchPage", new { cityID = Model.CityID, productType = Model.CurrentProductType, currentPageIndex = Model.CurrentIndex, keyword = Model.keyword }, FormMethod.Get)){<input type="text" name="keyword" class="search-ipt" value=@Model.keyword><input type="submit" id="submit" value="搜 索" class="gsearch-btn" >}</div>
復制代碼
復制代碼

傳統Form表單Aciton屬性提交

直接利用html表單的Aciton屬性進行提交。

方法示例

復制代碼
復制代碼
 <form id="askform" action="@Url.Action("AskForm")" method="post"><div class="title-area-outter clearfix"><span></span><select id="dplBDTType" name="dplBDTType"></select>                   <select id="selType" name="selType"></select>   </div>
</form>
復制代碼
復制代碼

Jquery+Ajax 提交表單

方法示例

View 部分

  <div class="issue" id="postWeibo" style="width: 80px"><a href="javascript:void(0)" class="publish-btn">發布</a></div>

Jquery和Ajax部分

復制代碼
復制代碼
    //發布長微博$("#postWeibo").click(function () {var blogID = $("#hfID").val();var title = $("#title").val();var imgurl = $("#previewImgHide").val();var des = editor.getContent();if (title == "") {ShowFailTip('微博標題不能為空!');return;}if (title.length >= 40) {ShowFailTip("微博標題不能超出40個字!");return;}//檢查是否數字if (isNaN(fee)) {ShowFailTip("不能包含文本必須是數值!");return;}if (ContainsDisWords(title + des)) {ShowFailTip('您輸入的內容含有禁用詞,請重新輸入!');return;}$.ajax({url: "/fx" + $Maticsoft.BasePath + "Blog/AjaxUpdate",type: 'POST',async: false,dataType: 'html',//            timeout: 10000,data: { Title: title, CityID: city, Fee: fee, CategoryID: category, Days: days, Tag: tag, startDate: startdate, endDate: enddate, ImgUrl: imgurl, Des: des, BlogID: blogID }, //success: function (resultData) {$(".dialogDiv").hide();if (resultData == "No") {ShowFailTip("操作失敗,請您重試!");} else if (resultData == "AA") {$.jBox.tip('管理員不能操作', 'error');} else {var data = $(resultData);}}});});
復制代碼
復制代碼

?

轉載于:https://www.cnblogs.com/zhengwei-cq/p/7605948.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282291.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282291.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282291.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

photoshop制作網站圓形圖標ico

1、選擇左側工具欄中的橢圓工具2、鼠標直接在圖片上選擇區域3、在圖片上鼠標右鍵建立選區&#xff0c;在彈出的對話框直接點確定變成這樣&#xff1a;4、點擊選擇&#xff0c;然后點擊反選變成這樣5、圖層欄&#xff0c;在圖片上右鍵復制圖層&#xff0c;彈出對話框直接確定即可…

《簡明 PHP 教程》00 開篇

《簡明 PHP 教程》是一本旨在介紹如何使用 PHP 語言進行編程的自由圖書。它以教材與指南的形式為入門者介紹 PHP 編程語言。如果你對電腦知識的了解僅限于如何保存文本文件的話&#xff0c;那這本書就是為你準備的。 本博客后續將以連載的方式為讀者呈現這本書。 關于作者 一名…

WPF 窗體設置亞克力效果

WPF 窗體設置亞克力效果控件名&#xff1a;WindowAcrylicBlur作者&#xff1a; WPFDevelopersOrg - 吳鋒原文鏈接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。項目使用 MIT 開源許可協議。WindowAcrylicB…

JS向后臺傳遞json數組對象

var Obj [];            //一下代碼可以循環插入            var returnObj new Object();//創建一個對象returnObj.id “123”&#xff1b;returnObj.money 456“”;Obj.push(returnObj);           JS中將Obj對象進行序列化操作   …

ArrayBlockingQueue跟LinkedBlockingQueue的區別

1.隊列中的鎖的實現不同 ArrayBlockingQueue中的鎖是沒有分離的&#xff0c;即生產和消費用的是同一個鎖&#xff1b; LinkedBlockingQueue中的鎖是分離的&#xff0c;即生產用的是putLock&#xff0c;消費是takeLock 2.在生產或消費時操作不同 ArrayBlockingQueue基于數組&…

jqGrid('setSelection',rowid)報Cannot read property 'multiple' of undefined

項目組非要上jeeweb框架&#xff0c;用jqgrid大量iframe做為前端框架&#xff0c;臃腫不堪。 今天上午&#xff0c;在進行選定操作jqGrid(setSelection,rowid)報Cannot read property multiple of undefined&#xff0c;怎么分析也找不出原因&#xff0c;最后百度搜了一下竟然有…

數據分塊加載——BigPipe 技術【類似facebook】

一、原理 分塊加載&#xff0c;加載完一塊&#xff0c;就先把頁面數據刷給用戶&#xff0c;再加載下面的&#xff0c;直到加載完畢二、基礎需知&#xff1a;三、服務端和php的相應配置 如果想實現分塊加載【bigpipe技術】&#xff0c;還需要對nginx.conf 和 php.ini 進行相應配…

Maven -- 在進行war打包時用正式環境的配置覆蓋開發環境的配置

我們的配置文件一般都放在 src/main/resource 目錄下。 假定我們的正式環境配置放在 src/main/online-resource 目錄下。 那么打成war包時&#xff0c;我們希望用online-resource下的配置文件取代resource 下的配置文件。 pom.xml 插件配置&#xff1a; <plugin><gr…

右鍵一下,哇塞!

面向 Dev 頻道的 Windows 預覽體驗成員微軟推送了 Windows 11 預覽版Insider Preview Build 25211主要變化1.微軟改進了 Windows 11 小組件面板&#xff0c;小組件面板中的添加按鈕更加醒目&#xff0c;點擊用戶頭像將打開小組件設置。Windows 11 小組件由 Microsoft Edge 瀏覽…

前端學習 -- Css -- 內聯元素的盒模型

內聯元素不能設置width和height&#xff1b;設置水平內邊距,內聯元素可以設置水平方向的內邊距&#xff1a;padding-left&#xff0c;padding-right&#xff1b;垂直方向內邊距&#xff0c;內聯元素可以設置垂直方向內邊距&#xff0c;但是不會影響頁面的布局&#xff1b;為元素…

Redis 數據持久化的方案的實現

一、需要了解的基礎 1、Redis實現數據持久化的兩種實現方式&#xff1a; RDB&#xff1a;指定的時間間隔內保存數據快照 AOF&#xff1a;先把命令追加到操作日志的尾部&#xff0c;保存所有的歷史操作二、RDB 實現 Redis數據持久化&#xff08;默認方式&#xff09;1、編輯 red…

div剩余空間填滿

div里有一個固定高度的div使其另一個div填滿空間&#xff0c;外層div設置的高度為百分比&#xff0c;給外層一個相對定位&#xff0c;設置想要充滿的div高度為100%&#xff0c;其中這次有個要求&#xff0c;使其填充div里面的內容距離固定高度div30px&#xff1b;給填充div一個…

快速生成快遞柜唯一取件碼

曾管理一萬多臺快遞柜&#xff0c;優化了系統中生成唯一取件碼的算法。項目&#xff1a;https://github.com/nnhy/PickupCode新建項目&#xff0c;添加 Nuget 應用 NewLife.Redis &#xff0c;借助其Add去重能力。代碼如下&#xff1a;private static void Main(string[] args)…

自動調試自動編譯五分鐘上手

Browsersync能讓瀏覽器實時、快速響應您的文件更改&#xff08;html、js、css、sass、less等&#xff09;并自動刷新頁面。更重要的是 Browsersync可以同時在PC、平板、手機等設備下進項調試。 無論您是前端還是后端工程師&#xff0c;使用它將提高您30%的工作效率。 MD5加密&a…

六臺機器搭建RedisCluster分布式集群

一、RedisCluster結構二、redis Cluster集群搭建1、修改redis.conf中需要更改的配置 bind 改成當前ip cluster-enabled yes #允許redis集群 cluster-config-file nodes-6379.conf #集群配置文件 cluster-node-timeout 15000 #集群中節點允許失聯的最大時間15s 注&#xff1…

C# 的 async/await 其實是stackless coroutine

注&#xff1a; 最近Java 19引入的虛擬線程火熱&#xff0c;還有很多人羨慕 go的 coroutine&#xff0c;很多同學一直有一個疑問&#xff1a; C# 有 虛擬線程或者 coroutine嗎&#xff0c;下面的這個回答可以解決問題。這里節選的是知乎上的hez2010 的高贊回答&#xff1a;http…

推薦使用typora

最近在網上接觸到一款全新的markdown寫作工具——typora。 現在它已經是我的主要寫作工具了。 甚至我也也會利用它安排自己的工作和任務。 typora介紹 下載鏈接特色&#xff1a;可以即時渲染markdown語法的書寫工具總算找到了&#xff0c;終于不用再糾結發生語法錯誤&#xff0…

中文詞頻統計

import jiebafoopen(text.txt,r,encodingutf-8)tfo.read()fo.close() wordsjieba.cut(t)dic{}for w in words: if len(w)1: continue else: dic[w]dic.get(w,0)1wc list(dic.items())wc.sort(keylambda x:x[1],reverse True)for i in range(20): print(wc[i]) 轉載于:https:/…

實現html錨點的兩種方式

1&#xff0c;a標簽name屬性。 2&#xff0c;使用標簽的id屬性&#xff1b;

mysql實現讀寫分離

一、環境介紹&#xff1a; LNMP vmware workstation pro配置了3個虛擬機&#xff0c;均安裝了LNMP環境&#xff1a; Pro &#xff1a;192.168.0.105 Pro2&#xff1a;192.168.0.106 Pro3&#xff1a;192.168.0.107 二、Mysql主從復制同步的實現 https://blo…