我在自己练习开发的程序代码中,controller层读取View层数据的代码如下:
View层代码段:
@using (Html.BeginForm("InsertReply", "Message")) { <legend>ReplyMessage</legend> <table> <tr> <td> Content:@Html.TextBox("Content") @Html.Hidden("Id", Model.messageId) </td> <td> <input type="submit" value="Reply" /> </td> </tr> </table> }
Controller层代码段:
[HttpPost] public ActionResult InsertReply() { int messageid = int.Parse(Request.Form["Id"].ToString()); var message = db.Messages.Where(p => p.Id == messageid).FirstOrDefault(); var user = db.Users.Where(p => p.Email == User.Identity.Name).FirstOrDefault(); Reply re = new Reply(){ CreatOn = DateTime.Now, User = user, Message = message, Content = Request.Form["Content"], Ip = Request.UserHostAddress.ToString() }; db.Replys.Add(re); db.SaveChanges(); return RedirectToAction("ReplyMessage", "Message", new { Id = messageid}); }
想请教一下,除了以上这种方法获取数据的方法外,有什么更好的,或者其他的方法可以用?请各位多多指教
只有前后端交互.
没有view和controller交互的说法.
不好意思,学习的知识还不够牢固,所以可能说法上有错,但是不知道前后端交互除了我所用的方法外,是否还有别的方法可以用呢?请赐教。
@MingWei496: http请求中能携带参数的地方有:querystring,body head
这3个地方
1. 可以去view 中model 的数据
2.mvc 可以自动序列化 不用去取
这么写就ok 了 public ActionResult InsertReply(string id)
谢谢您给我的建议,我回头改一改。