2013-07-23 39 views
29

我用下面創建一個表單上移動網站上傳圖片。如何添加數據 - 屬性Html.BeginForm

@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data" })) 

但是,因爲它使用jQuery手機,所以我啓用了Ajax,以便頁面之間的轉換很好而且流暢。這導致了我的表單不會上傳圖像的問題,因爲您無法使用ajax進行文件上傳。我需要的屬性data-ajax="false"添加到該表單,以便它讓我的文件上傳。

有誰知道我是如何做到這一點,因爲我嘗試了多種變化以下,但不能得到它的工作:

@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data", "data-ajax" = "false" })) 
+0

你能嘗試'@數據阿賈克斯= 「假」',好嗎? –

+0

@AndreCalil我想,作爲我的另一種方式 – Pete

回答

53

訣竅就是用下劃線代替連字符:

new { enctype = "multipart/form-data", data_ajax = "false" } 

連字符是不允許的C#IDE的一部分ntifier。 MVC框架自動轉換下劃線。

+4

啊,這正是我後,謝謝。 – Pete

+1

非常感謝Jan! –

+0

感謝這個 - 我想拿出一個辦法來_'翻譯''到,但-'想我會做的「正確」的方式快速搜索第一。剃刀引擎,你真的愛我! – brichins

15

您可以使用另一個重載:

@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} })) 
+3

+1之一,而有更多的垃圾{}在這其中,它Vue公司的偉大工程,如果你需要一個ref屬性添加到一個形式,因爲裁判是C#中的一個關鍵字,並且不能用於「對象htmlAttributes」重載。 – Pete

+0

許多變化 –