asp.net MVC 问题, 请各位大侠们解答, 谢谢咯..

lengxiezi 2010-09-09 08:34:53
controller


public ActionResult ManagerProvince()
{
return this.View(this.operate.GetProvince());
}

[HttpPost]
[ActionName("ManagerProvince")]
public ActionResult DeleteProvince(int provinceID)
{
if (provinceID > 0)
{
this.operate.DeleteProvince(provinceID);
}
return this.View(this.operate.GetProvince());
}

[HttpPost]
[ActionName("ManagerProvince")]
public ActionResult EditProvince(int provinceID, string provinceName)
{
if (!String.IsNullOrEmpty(provinceName))
{
this.operate.EditProvince(provinceID, provinceName);
}
return this.View(this.operate.GetProvince());
}


View

<body>
<div>
<form action="" method="post">
<%if (this.Model!=null)
{
foreach (Province item in this.Model)
{
%>
省份:  <%= item.ProvinceName%>    <input type="submit" value="删除" />    
省份:  <input type="text" name="provinceName" /><input type="submit" value="修改" />
<input type="hidden" name="provinceID" value="<%= item.ProvinceID %>" /><br /><br />
<%
}
} %>
</form>
</div>
</body>

点删除后出现:

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

对控制器类型“ManagerController”的操作“ManagerProvince”的当前请求在下列操作方法之间不明确:
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult DeleteProvince(Int32)
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult EditProvince(Int32, System.String)
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Reflection.AmbiguousMatchException: 对控制器类型“ManagerController”的操作“ManagerProvince”的当前请求在下列操作方法之间不明确:
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult DeleteProvince(Int32)
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult EditProvince(Int32, System.String)

源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[AmbiguousMatchException: 对控制器类型“ManagerController”的操作“ManagerProvince”的当前请求在下列操作方法之间不明确:
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult DeleteProvince(Int32)
类型 Admin64666.Controllers.ManagerController 的 System.Web.Mvc.ActionResult EditProvince(Int32, System.String)]




...全文
296 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
owenxin26 2010-09-10
  • 打赏
  • 举报
回复
如果看得惯英文的话,Wrox出版社的《Professional ASP.NET MVC 2》是半官方背景的学习书,作者很多都在微软的MVC开发组。

http://www.asp.net/mvc
这里可以找到免费文字和视频教程,包括三个实例:NerdDinner,MVC MusicStore,Microsoft TownHall

其中TownHall的例子比较高阶一点,考虑到了应用的扩展性、多平台和Azure云存储,属于MVC的企业级应用了。


中文的教程不太清除,网上搜一下估计也很多。NerdDinner这个例子应该会有中文翻译版。
lengxiezi 2010-09-09
  • 打赏
  • 举报
回复
楼上, 买什么书好呢??
owenxin26 2010-09-09
  • 打赏
  • 举报
回复
你的写法就不对,而且为什么不利用现成的HTML helper,而是手动写form元素呢,完全没必要。

form action="",没指定action,建议用Html.BeginForm()代替。

[ActionName("ManagerProvince")]
public ActionResult DeleteProvince(int provinceID)
看不出任何需要重命名Action的理由。

<input type="submit" value="删除" />
<input type="submit" value="修改" />
一个表里面有两个submit,但后台没有任何处理逻辑区分到底是哪个submit提交的。而且Submit只有value属性,没有name属性,这样后台也没法进行处理。

<input type="hidden" name="provinceID" value="<%= item.ProvinceID %>" />
这个也是多余的,ID可以直接从Route中获取。



这种情况最常用的做法是写两个form表单,每个表单只放一个submit,分别对应Edit的Action和Delete的Action,建议你买本书好好看看例子,不要想当然的自己来写。


lengxiezi 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 claymore1114 的回复:]
<input type="submit" 怎么两个submit??
[/Quote]

提交的话, 是需要两个的啊, 一个删除提交, 一个修改提交.?
lengxiezi 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 claymore1114 的回复:]
[ActionName("ManagerProvince")] 也有两个
[/Quote]

是有两个啊, 但是方法的名称都不一样的啊, 接收的参数也不同啊.
public ActionResult DeleteProvince(int provinceID)
public ActionResult EditProvince(int provinceID, string provinceName)
claymore1114 2010-09-09
  • 打赏
  • 举报
回复
[ActionName("ManagerProvince")] 也有两个
claymore1114 2010-09-09
  • 打赏
  • 举报
回复
<input type="submit" 怎么两个submit??
内容概要:本文详细介绍了一种融合灰狼优化算法(GWO)、BP神经网络与AdaBoost集成学习的复合预测模型,旨在通过Matlab代码实现高效、高精度的非线性系统预测。该模型首先利用GWO算法优化BP神经网络的初始权重与阈值,有效缓解传统BP网络易陷入局部最优、收敛速度慢的问题;随后引入AdaBoost集成策略,通过对弱学习器的迭代加权训练,进一步提升模型的泛化能力、鲁棒性与预测稳定性。该方法适用于能源、环境、金融等领域的时间序列预测任务,文中提供了完整的算法实现流程与案例分析,便于科研人员复现、验证并拓展至其他应用场景。; 适合人群:具备一定机器学习理论基础与Matlab编程能力,从事科研工作的研究生、高校教师及工程技术人员,尤其适合工作1-5年、致力于发表高水平学术论文的研发人员。; 使用场景及目标:①解决传统BP神经网络在复杂数据下收敛缓慢、精度不足的问题;②构建高精度、强鲁棒性的预测模型,服务于科研项目申报、高水平论文撰写或工程实际预测需求;③深入理解GWO优化机制、AdaBoost集成思想及其在神经网络中的融合应用,掌握智能优化与集成学习的协同建模范式。; 阅读建议:建议读者结合提供的Matlab代码逐模块实践,重点剖析GWO的种群更新机制、BP网络的结构设计与训练过程、AdaBoost的误差反馈与权重调整逻辑,同时尝试将模型迁移至风电预测、负荷预测等具体场景,以深化理解并激发创新研究思路。
代码下载链接: https://pan.quark.cn/s/c03e96dffc10 在信息技术行业中,操作系统的部署是一项核心且关键的任务,对于服务器设备而言,恰当的系统配置能够保障服务的持续、高效运作。本文将深入阐述在戴尔服务器平台上部署Ubuntu 18.04 Server无桌面版本的方法,该系统是针对服务器应用场景而设计的,不包含图形操作界面,因而更为精简且性能优越。 我们必须熟悉戴尔服务器的基本启动机制。当服务器启动时,一般会展示BIOS配置界面,此时通过按下F11键可以进入启动设备选择列表。这一操作旨在从不同的存储设备中选择启动目标,例如光盘(DVD)或USB移动存储设备,具体取决于你的安装媒介。 进入启动选项菜单后,选择第二项以推进安装流程。随后,系统会要求你确定操作系统的主要语言,此处我们选择“English”。接下来,需要设定键盘的布局,同样选择“English”。 接下来的核心环节是安装类型的确定。Ubuntu 18.04 Server提供了多种安装路径,但通常推荐选择“Install Ubuntu Server”,这将指导你完成服务器的个性化安装。在网络设置环节,倘若默认的DHCP动态获取IP地址方式失效,你需要手动设定静态IP地址。选定网络接口“eth0”,然后选择采用静态配置,接着进行网络参数的设定,涵盖IP地址、子网掩码、默认网关及DNS服务器的信息。 完成配置后,点击“Done”进入下一阶段,在核实所有信息准确无误后再次点击“Done”。其后,文件系统的配置极为关键。Ubuntu 18.04 Server提供了自动分区和自定义分区两种模式,若希望迅速安装并利用全部磁盘空间,可以选择“Use entire disk”,然后选定用于安...

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧