我需要 html 按钮来调用没有 js 的控制器方法
I need html button to call controller method without js
这是真的吗?
我想要这样的东西工作,这是 html 代码的一部分:
@if (Request.IsAuthenticated)
{
<input type="button" value="1" onclick="location.href='@Url.Action("PayMonthMore", "Home")'" />
}
这是我要调用的 HomeController 方法:
public ActionResult PayMonthMore()
{
DBModelContainer db = new DBModelContainer();
var user = db.user.First(u => u.username == HttpContext.User.Identity.Name);
var paid = user.paidToDate;
if (paid == null)
{
paid = DateTime.Now;
}
user.paidToDate = paid.Value.AddMonths(1);
db.SaveChanges();
return View();
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
你为什么不把它放在一个表单中然后删除 onclick 呢?
@if (Request.IsAuthenticated)
{
<form action="/Home/PayMonthMore" method="POST">
<input type="submit" value="1" />
</form>
}
这是真的吗? 我想要这样的东西工作,这是 html 代码的一部分:
@if (Request.IsAuthenticated)
{
<input type="button" value="1" onclick="location.href='@Url.Action("PayMonthMore", "Home")'" />
}
这是我要调用的 HomeController 方法:
public ActionResult PayMonthMore()
{
DBModelContainer db = new DBModelContainer();
var user = db.user.First(u => u.username == HttpContext.User.Identity.Name);
var paid = user.paidToDate;
if (paid == null)
{
paid = DateTime.Now;
}
user.paidToDate = paid.Value.AddMonths(1);
db.SaveChanges();
return View();
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
你为什么不把它放在一个表单中然后删除 onclick 呢?
@if (Request.IsAuthenticated)
{
<form action="/Home/PayMonthMore" method="POST">
<input type="submit" value="1" />
</form>
}