js return false\e.preventDefault() 以及session

时间:2021-09-07 05:16:11
 @{
ViewBag.Title = "Test";
} <h2>Test</h2> 区别的介绍
<br/>
我们在平时的编码中javascript中经常会用到[return false;]语句来阻止事件的向上传递,其实[return false;]语句包含了2层意思: 阻止触发事件的元素的默认动作(比如说一个link(<a href="http://www/baidu.com"></a>),它的默认动作就是迁移到baidu首页)
阻止触发事件的元素向上传递事件
由于[return false;]包含了2个意思,所以在使用时首先要明确上面的2个阻止是否符合我们的预期。 如果我们在只想阻止元素的默认动作或者只想阻止元素向上传递事件的情况下误用了[return false;]的话, 那么在大量的代码中就很难调试出问题的所在了。 在javascript中其实有相应的函数分别实现上面的2个阻止,分别是: event.preventDefault() 阻止触发事件的元素的默认动作
event.stopPragation() 阻止触发事件的元素向上传递事件 <br/>
以下2个button 提交一样结果
@using(Html.BeginForm())
{
<input type="text" name="id" id="id" />
<button type="submit" id="btnSubmit1">登录1</button>
<button type="submit" id="btnSubmit2" onclick="return testSubmit()">登录2</button>
} @section Script
{
<script>
$('#btnSubmit1').click(function(e) {
e.preventDefault(); //禁止执行默认事件,即form提交 var id = $('#id').val();
if (id == null || id <= 0) {
alert("id未输入或小于等于0!");
} else {
$("form").submit(); //js form提交
}
}); function testSubmit() {
var id = $('#id').val();
if (id == null || id <= 0) {
alert("id未输入或小于等于0!");
return false; //onclick="return testSubmit()",返回false 禁止执行默认事件、禁止向上传递
} else {
return true; //返回false 允许执行默认事件、允许向上传递
}
}
</script>
}

2.session

同一个浏览器,在session未过期内,都显示唯一值。

string sessionId = Session.SessionID;
if (Session["acc"] == null)
{
Session["acc"] = "nlh";
return new ContentResult() {Content = sessionId + ",acc is empty,and add now"};
}
else
{
return new ContentResult() {Content = sessionId + ",acc value:" + Session["acc"].ToString()};
}