我試着在asp.net mvc2上使用mvc2模板並使用它。在模板之後,我創建了我自己的模型,控制器和視圖,並在其中分別存放了文件夾位置我還爲此控制器和視圖更改了global.asax中的默認路由。現在我的視圖正在被加載,但是當我點擊我的視圖中的按鈕時,我的控制器中寫入的方法都沒有被擊中。可能是什麼原因,我錯過了什麼?我還想在我的視圖呈現之前從我的控制器調用預加載方法。請幫助......卡住了。 這裏是我的看法ASP.Net MVC 2 - 按鈕點擊視圖不調用控制器中的任何方法?我錯過了什麼?
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<CreditCashAllocationSystem.Models.ConfigurationModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Configuration
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Configuration</h2>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%= Html.LabelFor(model => model.DropOffDaysForward) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.DropOffDaysForward) %>
<%= Html.ValidationMessageFor(model => model.DropOffDaysForward) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(model => model.DropOffDaysBackward) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.DropOffDaysBackward) %>
<%= Html.ValidationMessageFor(model => model.DropOffDaysBackward) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(model => model.DealDropOffDateDays) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.DealDropOffDateDays) %>
<%= Html.ValidationMessageFor(model => model.DealDropOffDateDays) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(model => model.DealHistoryDays) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.DealHistoryDays) %>
<%= Html.ValidationMessageFor(model => model.DealHistoryDays) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(model => model.UnappliedHistoryDays) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.UnappliedHistoryDays) %>
<%= Html.ValidationMessageFor(model => model.UnappliedHistoryDays) %>
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%= Html.ActionLink("Back to List", "Index") %>
</div>
</asp:Content>
,這裏是我的控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CreditCashAllocationSystem.Controllers
{
public class ConfigurationController : Controller
{
//
// GET: /Configuration/Create
//will be called on Form Load
public ActionResult Create()
{
return View("Configuration");
}
//
// POST: /Configuration/Create
//Method will be called once u click on create/save button
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return View("Configuration");
}
catch
{
return View("Configuration");
}
}
}
}
這裏是我的Global.asax:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace CreditCashAllocationSystem
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Configuration", action = "Create", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
}
請幫幫忙,我失去了什麼?
做一些斷點調試可以幫助證實了這一點。 – xandy 2010-10-30 15:45:06