一个极简单的MVC提交表单的页面,怎么搞不定?求助。

itsinng 2021-04-15 04:10:48
跟网页上的一个例子学习一个MVC处理表单的例子,怎么搞不定啊?提交了表单没有效果,就是页面刷新一下,求助啊!

okController页面位于Controller文件夹下,代码如下================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication1.Models
{
public class okController : Controller
{
//
// GET: /ok/
public ActionResult Index()
{
return View();
}
}
public class person
{
//[Required(ErrorMessage = "请输入名字")]
public string name { get; set; }
public string email { get; set; }

}

}

LoginController页面也是在Controller文件夹下,代码如下================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication1.Controllers
{
public class LoginController : Controller
{
//
// GET: /Login/
public ActionResult Index()
{

Response.Write("不正确!");
return View();
}
public ActionResult Login()
{

Response.Write("不正确!");
return View();
}
}
}

Index.cshtml位于Views/Home下,代码如下:==================

@model WebApplication1.Models.person
@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<title>这是一个网页</title>
</head>
<body>


@using (Html.BeginForm())
{

<p>你的名字:@Html.TextBoxFor(model => model.name)</p>
<p>邮件地址:@Html.TextBoxFor(model => model.email)</p>

<input type="submit" value="提交按钮" />
}


</body>

</html>

======================代码完============
提交完了就是页面刷新一下,我粗学乍练,有点转向,请各位指教一下怎么才能开始处理,哪怕打出一个 "不正确!"?


...全文
2182 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhdxhj 2021-06-22
  • 打赏
  • 举报
回复

WEB开发就不要学.NET了,为什么要学这个呢?去看看市场行情就知道为什么了

yiyoyiyocc 2021-04-20
  • 打赏
  • 举报
回复
Views/Login/Index.aspx ~/Views/Login/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Login/Index.cshtml ~/Views/Login/Index.vbhtml ~/Views/Shared/Index.cshtml
yiyoyiyocc 2021-04-20
  • 打赏
  • 举报
回复
直接用sql不行么
八爻老骥 2021-04-18
  • 打赏
  • 举报
回复
引用 10 楼 itsinng 的回复:
[quote=引用 9 楼 hztltgg 的回复:]using (Html.BeginForm("Index","Login",FormMethod.Post))

也还是一样,出现一排提示,
/Views/Login/Index.aspx
~/Views/Login/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Login/Index.cshtml
~/Views/Login/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

关键我现在文件位置都还没弄清楚,谁能给说说这点。[/quote]

没有对应的视图,你可以LoginIndex里重定向到Home.Index,或是右出方法名生成视图。最好不要用Response.Write,这样会写在HTML内容的顶端,一般是定义变量,然后通过View方法传递给视图,在视图里指定变量的输出位置。当然也可以向楼上所说的,直接Return Content("。。"),这样就纯文本输出,不带HTML结构。
一品梅 2021-04-17
  • 打赏
  • 举报
回复
MVC框架及运行机理还不清楚啊
hztltgg 2021-04-16
  • 打赏
  • 举报
回复
你方法里写的 Response.Write("不正确!"); return View(); 那当然要视图了,直接写一句 return Content("不正确!"); 就好了。 mvc有很多约定,看代码看不出来逻辑的,要看文档的。
姎楹 2021-04-16
  • 打赏
  • 举报
回复
引用 11 楼 itsinng 的回复:
一个控制器对应一个文件夹
itsinng 2021-04-16
  • 打赏
  • 举报
回复
引用 8 楼 姎楹 的回复:
得有一个post才行吧
可现在是找不到网页,有没有POST那是后话了。请问文件关系到底是怎么样的?我好晕~
itsinng 2021-04-16
  • 打赏
  • 举报
回复
引用 9 楼 hztltgg 的回复:
using (Html.BeginForm("Index","Login",FormMethod.Post))
也还是一样,出现一排提示, /Views/Login/Index.aspx ~/Views/Login/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Login/Index.cshtml ~/Views/Login/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml 关键我现在文件位置都还没弄清楚,谁能给说说这点。
hztltgg 2021-04-16
  • 打赏
  • 举报
回复
using (Html.BeginForm("Index","Login",FormMethod.Post))
姎楹 2021-04-16
  • 打赏
  • 举报
回复
得有一个post才行吧
itsinng 2021-04-16
  • 打赏
  • 举报
回复
我改成 @using (Html.BeginForm("Login","Login",FormMethod.Post)) 照样有错误,提示 未找到视图“Login”或其母版视图,或没有视图引擎支持搜索的位置。搜索了以下位置: ~/Views/Login/Login.aspx ~/Views/Login/Login.ascx ~/Views/Shared/Login.aspx ~/Views/Shared/Login.ascx ~/Views/Login/Login.cshtml ~/Views/Login/Login.vbhtml ~/Views/Shared/Login.cshtml ~/Views/Shared/Login.vbhtml 我服啊,这文件关系到底是怎么样的。
Hello World, 2021-04-16
  • 打赏
  • 举报
回复
ControllerName不用带后面的Controller,比如LoginController,就用Login
angelasp 2021-04-16
  • 打赏
  • 举报
回复
这个一定要控制器对应一个文件夹,然后方法对应.cshtml页面就行。
itsinng 2021-04-15
  • 打赏
  • 举报
回复
引用 1 楼 Hello World, 的回复:
Html.BeginForm("ActionName","ControllerName",FormMethod.method)
我改成这样using (Html.BeginForm("Login","LoginController",FormMethod.Post))提示找不到页面,哪里错了?
itsinng 2021-04-15
  • 打赏
  • 举报
回复
引用 2 楼 手在键盘敲很轻 的回复:
是不是有个action 参数忘记填了,这样才能知道你表单提交到哪里去了,很久没用过这玩意。
我看例子就是这么写的,他能运行起来,是不是相当于默认为本页面处理呢?
90e家 2021-04-15
  • 打赏
  • 举报
回复
提交给哪个方法的,接收了才能有效果啊,而且跳转也需要在后台写啊
  • 打赏
  • 举报
回复
是不是有个action 参数忘记填了,这样才能知道你表单提交到哪里去了,很久没用过这玩意。
Hello World, 2021-04-15
  • 打赏
  • 举报
回复
Html.BeginForm("ActionName","ControllerName",FormMethod.method)

62,046

社区成员

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

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

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

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