从 Webforms 迁移到 MVC 4 的一些基础知识
Moving from Webforms to MVC 4 some basics
习惯了 Webforms 我遇到了问题 'visualising' MVC
如果我创建一个 class(称为 Customers.vb)并添加一个字符串 属性
Public Property Customers_CustomerName() As String
...将此功能添加到控制器
Function Index() As ActionResult
Dim vCustomers As New Customers
vService = New Service1Client
strSQL = "SELECT Cust_Name FROM Customers WHERE Customer_ID = 1"
Dim vName As String = vService.ReturnScalarString(strSQL, 2)
vCustomers.Customers_CustomerName = vName
vService.Close()
vService = Nothing
ViewData("Customers") = vCustomers
Return View("Customers_View")
End Function
...并将其添加到视图中
Code
Dim vCustomers As MVPTest.Customers = CType(ViewData("Customers"), MVPTest.Customers)
Dim CustName As String = vCustomers.Customers_CustomerName
Using (Html.BeginForm(Nothing, "Customers_/Edit/5", FormMethod.Post))
@<p>
@Html.TextBox("TB3", CustName)
<input type="submit" value="test" />
</p>
End Using
End Code
我现在在文本框中获得了值 - 但与 WebForms 相比,这似乎是一个很长的路要走,WebForms 的代码隐藏只是 "TB2.value = vName"(其中文本框是一个带有 Runat= 的通用输入控件"Server" - 所以我一定是漏掉了什么。
我也找不到方法 post 将文本框中的值返回给控制器
<HttpPost()>
Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
Try
Dim EditName As String = Convert.ToString(collection("TB3").ToString)
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function
习惯了 Webforms 我遇到了问题 'visualising' MVC
如果我创建一个 class(称为 Customers.vb)并添加一个字符串 属性
Public Property Customers_CustomerName() As String
...将此功能添加到控制器
Function Index() As ActionResult
Dim vCustomers As New Customers
vService = New Service1Client
strSQL = "SELECT Cust_Name FROM Customers WHERE Customer_ID = 1"
Dim vName As String = vService.ReturnScalarString(strSQL, 2)
vCustomers.Customers_CustomerName = vName
vService.Close()
vService = Nothing
ViewData("Customers") = vCustomers
Return View("Customers_View")
End Function
...并将其添加到视图中
Code
Dim vCustomers As MVPTest.Customers = CType(ViewData("Customers"), MVPTest.Customers)
Dim CustName As String = vCustomers.Customers_CustomerName
Using (Html.BeginForm(Nothing, "Customers_/Edit/5", FormMethod.Post))
@<p>
@Html.TextBox("TB3", CustName)
<input type="submit" value="test" />
</p>
End Using
End Code
我现在在文本框中获得了值 - 但与 WebForms 相比,这似乎是一个很长的路要走,WebForms 的代码隐藏只是 "TB2.value = vName"(其中文本框是一个带有 Runat= 的通用输入控件"Server" - 所以我一定是漏掉了什么。
我也找不到方法 post 将文本框中的值返回给控制器
<HttpPost()>
Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
Try
Dim EditName As String = Convert.ToString(collection("TB3").ToString)
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function