使Asp.net网页更像Rails MVC的方法?

时间:2011-10-05 22:18:52

标签: c# asp.net webmatrix

AFAIK,Asp.net网页模型仅支持每页一个表单帖子。用户输入带入:

if (isPost)
{
   // code to capture form input
}

但是,是否可以让Asp.net网页在每页允许多个操作(方法)时更像Rails?

我希望能够让用户点击按钮(发布到同一页面),删除数据库中的给定记录,然后刷新同一页面。

3 个答案:

答案 0 :(得分:8)

看看ASP.NET MVC

答案 1 :(得分:2)

您的前提是Asp.Net网页模型仅支持每页单个表单帖子不正确。您可以有多个表单。您不是使用简单的IsPost测试,而是为每个表单的关联提交按钮提供不同的name属性,并通过检查Request.Form集合来测试以查看哪个被点击:

@{
  if(Request["form1"] == "submit"){
    //form1 submitted
  }
  if(Request["form2"] == "submit"){
    //form2 submitted
  }
}
...

<form method="post" id="form1">
  ...
  ...
  <input type="submit" name="form1" value="Submit" />
</form>

<form method="post" id="form2">
  ...
  ...
  <input type="submit" name="form2" value="Submit" />
</form>

但是如果你想要一个MVC框架,就像其他人所说的那样,使用ASP.NET MVC。

答案 2 :(得分:1)

您可以使用jQuery和ASP.NET页面方法将请求发布到调用删除函数的服务器。

您可以使用jQuery发布一个带有指向删除功能的action属性的表单。这是a great code sample来展示类似的东西。 (该示例显示了插入,而不是删除。)还有对同一示例here on SO的另一个引用。

我应该补充一点,这个答案是为了补充Mike Brind的答案,我已经投了赞成票。