2015-06-04 158 views
1

我是新來的asp.net,剃鬚刀和bootstrap和非常熟悉winforms和舊代碼。asp.net MVC引導按鈕點擊事件?

我想了解一件事:MVC中的按鈕點擊事件?

MVC沒有設計視圖,沒有屬性視圖直接進入事件。我一直試圖理解jQuery,c#和視圖中的按鈕之間的關係,邏輯在哪裏生活?我創建了函數,試圖設置一個調試斷點,說代碼將永遠不會到達這裏...

其他的例子似乎是,雖然c#有一個onbutton click()事件;在MVC中可能有幾個文件,必須排隊,沒有intellisense,以確保它得到正確的處理程序?

+1

你可以發佈一些代碼來顯示你正在嘗試做什麼?也許發佈表單代碼和您試圖發佈的.NET控制器代碼? –

+0

好吧,我將從頭開始,只是試圖找到如何點擊連接到代碼,任何代碼 – rogersb

回答

1

您將客戶端JavaScript與服務器端C#混淆。

在WebForms中,您創建了一個在服務器上調用的「OnClick」事件,但在MVC中沒有這樣的事情。唯一的「onclick」是一個javascript客戶端事件,它只能在瀏覽器中使用javascript做事情(或者對服務器進行ajax調用)。

按鈕點擊,如果它們被設置爲「提交」按鈕觸發表單帖子,它調用服務器上的操作方法,這些都不是事件。他們只是你的MVC行動方法。

所以簡短的回答是..沒有「OnClick」事件調用服務器端處理程序。

+0

好的謝謝澄清,我認爲這是這樣的,但已經把服務器端的斷點,並抓住錯誤的東西。自動生成的創建頁面有一個創建按鈕。輸入類型=「提交」值=「創建」。所以我複製此代碼並更改值,type =「submit」和value =「testvalue」,但它會導致Create方法運行...? – rogersb

+0

@MaxPower - 如果您的原始操作被稱爲「創建」並且您的表單使用了默認操作,或者您已將表單配置爲發佈到創建操作,它只會導致創建方法運行。 –

+0

我剛剛拿到符號加載放鬆,看到堆棧;但是它是什麼意思,形成默認行動?並且表單本身發佈到創建操作?

這是在Create.cshtml表單底部自動生成的內容。你是說如果頁面上的任何方法生成「提交」服務器端控制器model.cs「創建」方法被調用? – rogersb