如果Asp.net视图没有调用控制器方法,您可以尝试以下步骤解决:
确保您的控制器方法标有 [HttpGet] 或 [HttpPost] 属性;
确保您的控制器方法的名称与视图文件中的表单操作的名称相同;
在视图中确保您有一个表单,包括一个操作名称与控制器方法名称相同的属性;
以下是一个 Asp.net MVC 示例,展示如何将视图与控制器方法连接起来:
控制器代码:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult SaveData(FormCollection form)
{
string name = form["txtName"];
// 处理数据
return RedirectToAction("Index");
}
}
视图代码:
@using (Html.BeginForm("SaveData","Home"))
{
}
上面的例子中,我们使用 Html.BeginForm() 辅助方法创建表单。这个方法的第一个参数是一个字符串,它指定了操作名称,同时,这个名称与控制器中的方法名称相同。表单在提交时,将调用 SaveData 方法。如果操作名称不正确,或者表单不包括指定的操作名称,Asp.net 视图就无法调用控制器方法。
希望这个解决方法对您有所帮助。