我需要使用Javascript在第一页加载时用当前日期时间填充文本。 我的意思是我在ASP.NET中寻找类似于Page.IsPostBack属性的模型,但在JS中。
我找到了解决方案,我建议使用服务器端代码来检测回发并将变量传递给客户端。但是我正在使用MVC,而且没有像Page.IsPostBack ......
这样的属性请帮我找到答案
答案 0 :(得分:1)
对MVC没有这样的想法。您可以处理POST,GET或两者的操作。您可以使用[HttpPost]和[HttpGet]属性过滤每个操作可以处理的内容。
在MVC上,你最接近IsPostBack的行为就像这样:
public ActionResult Index()
{
if (Request.HttpMethod == "POST")
{
// Do something
}
return View();
}
因此,
[HttpPost]
public ActionResult Create(CreateModel model)
{
if (Request.HttpMethod == "POST") // <-- always true
{
// Do something
}
return RedirectToAction("Index");
}
答案 1 :(得分:1)
您可以这样做:
<script>
function myFunction() {
// ...
}
@if (Request.HttpMethod == "POST")
{
@Html.Raw("myFunction();")
}
</script>
答案 2 :(得分:0)
[HttpPost]
public ActionResult MyAction()
{
ViewBag.IsPostBack=true;
}
然后在你看来
<script>
var isPostBack=@ViewBag.IsPostBack;
</script>
答案 3 :(得分:0)
你在这里错过了你正在使用MVC,没有这样的&#34;回发&#34;概念。 在您的视图中,在控制器GET方法中,填充日期的值。 在相应的POST中,您将获得此值或用户填写的其他值。因此,如果它是一个帖子,您将永远不会通过第一次填写日期的代码行。