asp.net下利用JS實現(xiàn)對后臺CS代碼的調(diào)用方法
更新時間:2007年04月29日 00:00:00 作者:
要求是這樣的:在gridView中有些行是沒有處理過的,用戶用鼠標(biāo)點擊該行后即表示用戶處理過這一行了,行的狀態(tài)要和普通的一樣了,但是GridView沒有對行的事件處理,必須要用JavaScript對后臺的事件進(jìn)行調(diào)用,如果細(xì)心的話你會發(fā)現(xiàn)實際上在我們在頁面上添加一個LinkButton并給它添加一個事件之后,實際上就是通過JavaScript進(jìn)行的回傳。
當(dāng)我們添加一個LinkButton,生成頁面并查看源代碼,會發(fā)現(xiàn)比沒有添加LinkButton之前多了些代碼
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>
<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
而LinkButton的事件實際上就是JavaScript事件
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
那么如果有了上面的這部分JavaScript是不是我可以利用JavaScript進(jìn)行回傳呢?
當(dāng)然可以了,但是我們有一點需要注意一下,我們需要修改頁面的一個屬性EnableEventValidation,默認(rèn)是true,我們把它修改成false,即頁面中使用 <%@ Page EnableEventValidation="false" %>否則會報錯。
下面是我利用Html控件進(jìn)行的回傳調(diào)用LinkButton的事件
<input id="Button1" type="button" value="button" onclick="__doPostBack('LinkButton1','')" />
如果那天需要利用JS進(jìn)行回傳了,而頁面中有沒有可以添加后就生成這些代碼的控件,那就把把上面的代碼拷到頁面了不就成了嗎,:-)
注意這個方法可以調(diào)用已經(jīng)存在的控件的事件。不能調(diào)用方法,不知道有沒有別的方法可以實現(xiàn)。
當(dāng)我們添加一個LinkButton,生成頁面并查看源代碼,會發(fā)現(xiàn)比沒有添加LinkButton之前多了些代碼
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>
<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>
而LinkButton的事件實際上就是JavaScript事件
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
那么如果有了上面的這部分JavaScript是不是我可以利用JavaScript進(jìn)行回傳呢?
當(dāng)然可以了,但是我們有一點需要注意一下,我們需要修改頁面的一個屬性EnableEventValidation,默認(rèn)是true,我們把它修改成false,即頁面中使用 <%@ Page EnableEventValidation="false" %>否則會報錯。
下面是我利用Html控件進(jìn)行的回傳調(diào)用LinkButton的事件
<input id="Button1" type="button" value="button" onclick="__doPostBack('LinkButton1','')" />
如果那天需要利用JS進(jìn)行回傳了,而頁面中有沒有可以添加后就生成這些代碼的控件,那就把把上面的代碼拷到頁面了不就成了嗎,:-)
注意這個方法可以調(diào)用已經(jīng)存在的控件的事件。不能調(diào)用方法,不知道有沒有別的方法可以實現(xiàn)。
相關(guān)文章
asp.net GridView模板列中實現(xiàn)選擇行功能
近來在項目中用到了GridView控件,用它實現(xiàn)添加、修改、刪除、選擇、顯示復(fù)雜表頭等功能2010-07-07ASP.NET實現(xiàn)讀取Excel內(nèi)容并在Web上顯示
這篇文章主要介紹了ASP.NET實現(xiàn)讀取Excel內(nèi)容并在Web上顯示,很實用的一個技巧,需要的朋友可以參考下2014-08-08ASP.NET Core應(yīng)用錯誤處理之StatusCodePagesMiddleware中間件針對響應(yīng)碼呈現(xiàn)錯誤頁面
這篇文章主要給大家介紹了關(guān)于ASP.NET Core應(yīng)用錯誤處理之StatusCodePagesMiddleware中間件針對響應(yīng)碼呈現(xiàn)錯誤頁面的相關(guān)資料,需要的朋友可以參考下2019-01-01