欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

幾個 ASP.NET 小技巧

 更新時間:2008年09月24日 00:45:46   作者:  
JavaScript 調(diào)用服務(wù)器端
1. ASP.NET AJAX 中,如何用 JavaScript 調(diào)用服務(wù)器端的方法?

這里不是指調(diào)用簡單的 PageMethod,因為靜態(tài)方法是不能操作當前頁面的控件的,所以靜態(tài)的 PageMethod 作用就跟普通的 WebService 一樣,比較局限。
那么,調(diào)用一般的服務(wù)器端方法,其實就是發(fā)起一個異步回調(diào)。最簡單的實現(xiàn)辦法,是通過 UpdatePanel 來做。
首先定義一個隱藏的 LinkButton,在其處理事件中,去調(diào)用我們要執(zhí)行的操作:
<asp:LinkButton ID="linkUpdatePosts" runat="server" style="display:'none';" OnClick="linkUpdatePosts_Clicked" />
// 刷新帖子列表(供客戶端 js 調(diào)用)
protected void linkUpdatePosts_Clicked(object sender, EventArgs e)
{
LoadPosts();
}
然后 JavaScript 中就可以定義函數(shù)來觸發(fā)這個 LinkButton 的回發(fā):
// 刷新帖子列表
function refreshPosts() {
__doPostBack('<%= linkUpdatePosts.UniqueID %>', '');
}
// 刷新帖子列表
function refreshPosts() {
__doPostBack('<%= linkUpdatePosts.ClientID %>'.split('_').join('$'), '');
}這里注意 split('_').join('$') 的用法,是因為作為 __doPostBack 參數(shù)的控件標志符是用 $ 分隔的,而 ClientID 是用 _ 分隔,要在兩者之間進行下轉(zhuǎn)換。

2. 如何獲取 GridView 編輯狀態(tài)下單元格里的值?

還在使用這樣的代碼嗎?
var txtName = grid1.Rows[e.RowIndex].Cells[0].FindControl("txtName") as TextBox;
if (txtName != null)
{
// 讀取值
//
}

其實這些工作(在單元格中查找控件,并嘗試獲取其中的值)已經(jīng)被封裝了?,F(xiàn)在,只要調(diào)用 ExtractValuesFromCell 方法即可。
而該方法也被很多種列類型所支持:
DataControlField, BoundField, AutoGeneratedField, CheckBoxField, ImageField, TemplateField, DynamicField

你可以在 GridView 的 RowUpdating, RowDeleting 等事件中使用它。利用該方法,可以將值提取到所需的字典里去,然后再從字典中讀取。這些字典包括:e.Keys, e.NewValues, e.OldValues 等。
一小段例子代碼:
// 更新
protected void grid1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
var row = grid1.Rows[e.RowIndex];
// 提取 Id 字段的值
grid1.Columns[0].ExtractValuesFromCell(
e.Keys,
row.Cells[0] as DataControlFieldCell,
DataControlRowState.Edit,
true /* include readonly */);

// 提取 Name 字段的值
grid1.Columns[1].ExtractValuesFromCell(
e.NewValues,
row.Cells[1] as DataControlFieldCell,
DataControlRowState.Edit,
true /* include readonly */);

var id = int.Parse(e.Keys["id"].ToString());
var name = (string) e.NewValues["name"];

// 執(zhí)行相關(guān)的數(shù)據(jù)庫更新操作
//
}
這樣,在大多數(shù)場合我們可以盡可能多的使用 BoundField,并且也能正確讀取到其編輯時的值,省下自定義 TemplateField 的一堆代碼了。

相關(guān)文章

  • 一文搞懂MemoryCache 清除全部緩存的方法

    一文搞懂MemoryCache 清除全部緩存的方法

    這篇文章主要介紹了MemoryCache 清除全部緩存的方法,本文給大家介紹兩個方法,每種方法通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • .NET8 依賴注入

    .NET8 依賴注入

    依賴注入是一種設(shè)計模式,用于解耦組件(服務(wù))之間的依賴關(guān)系,它通過將依賴關(guān)系的創(chuàng)建和管理交給外部容器來實現(xiàn),而不是在組件(服務(wù))內(nèi)部直接創(chuàng)建依賴對象,本文介紹.NET8 依賴注入的相關(guān)知識,感興趣的朋友一起看看吧
    2023-12-12
  • asp.net頁面觸發(fā)事件panel滾動條高度不變的實現(xiàn)方法

    asp.net頁面觸發(fā)事件panel滾動條高度不變的實現(xiàn)方法

    asp.net頁面按鈕點擊觸發(fā)事件后panel滾動條非自動回到頂端,每次都要往下拉一下,關(guān)于這個問題的解決方法如下
    2014-11-11
  • ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)

    ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)

    本文是ASP.NET MVC系列的第一篇文章,跟其他學習系列一樣,咱們先來點基礎(chǔ)知識,之后再循序漸進。我們先從asp.net mvc的概念開始吧。
    2014-11-11
  • VS初始化命令 ASP.NET常用技巧

    VS初始化命令 ASP.NET常用技巧

    此命令會運行幾分鐘時間,與此同時,Visual Studio 清除設(shè)置并將其自身重置到其最初的狀態(tài)。
    2011-03-03
  • ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象

    ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象

    這篇文章主要介紹了ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象,本文講解設(shè)計及實現(xiàn)方法,相關(guān)代碼托管到GITHUB,需要的朋友可以參考下
    2015-03-03
  • 詳解asp.net core重新加載應用配置

    詳解asp.net core重新加載應用配置

    這篇文章主要介紹了asp.net core重新加載應用配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解

    深入Lumisoft.NET組件POP3郵件接收與刪除操作的使用詳解

    本篇文章對Lumisoft.NET組件POP3郵件接收與刪除操作的使用進行了詳細的介紹。需要的朋友參考下
    2013-05-05
  • ASP.NET使用TreeView顯示文件的方法

    ASP.NET使用TreeView顯示文件的方法

    這篇文章主要介紹了ASP.NET使用TreeView顯示文件的方法,包括控件的使用、頁面加載代碼及節(jié)點事件,是WEB應用程序中非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • .Net Core中ObjectPool的使用與源碼解析

    .Net Core中ObjectPool的使用與源碼解析

    這篇文章主要給大家介紹了關(guān)于.Net Core中ObjectPool的使用與源碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用.Net Core具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-10-10

最新評論