魚魚打算在DetailsView選單裡面,在客戶公司欄位輸入公司名稱的同時,職員欄位就會依照已經做好的SQL判斷(where=XXX)提供下拉選單方便選取客戶名稱,但是弄了很久一值不知道該怎麼取值。MSDN又寫了啪拉啪啦一長串,真的看的頭很暈...
還好花了兩個小時終於研究好了QQ
Dim aa As Label
'首先 先設個變數並且設定是什麼物件
aa = DetailsView1.FindControl("Label12")
'然後在特定的容器內尋找你要的物件ID
Response.Write(aa.Text)
'接著顯示該物件的屬性
就醬子簡單,花了這麼久 真是搞死人不償命QQ
另提供兩篇延伸閱讀
Will Will Web-FindControl 另一篇不知道跑哪去了 (遮臉
不過可以參考總是把簡單語法寫五六頁的MSDN XD
以下是2010/1/4新增加的範例~寫給秀秀以及有需要的朋友看:P
<%@ Page Language="VB" AutoEventWireup="false" EnableEventValidation="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim name As Label '由於DetailsView1內的欄位是Label,所以宣告一個Label物件
name = DetailsView1.FindControl("Name")
'用DetailsView1的FindContol方法尋找控制項裡面名稱為"name"的物件,並存入剛才宣告的Label物件
labelStatus.Text = name.Text '顯示label物件的文字 (或是其他屬性方法)
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="labelStatus" runat="server" Text="尋找物件中"></asp:Label>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>"
SelectCommand="SELECT [No], [name] FROM [udb_member] WHERE ([name] LIKE '%' + ? + '%')"
ProviderName="<%$ ConnectionStrings:ConnectionString2.ProviderName %>">
<SelectParameters>
<asp:Parameter DefaultValue="先生" Name="name" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="No" DataSourceID="SqlDataSource1" Height="50px" Width="125px">
<Fields>
<asp:TemplateField HeaderText="No" InsertVisible="False" SortExpression="No">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("No") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="AutoNo" runat="server" Text='<%# Bind("No") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="name" SortExpression="name">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Name" runat="server" Text='<%# Bind("name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</form>
</body>
</html>

魚魚妳好: 本身目前有在coding,我有一個功能類似妳上面所敘述的,但怎麼弄都失敗,可否po原始碼讓我參考呢? 不管如何,先說聲謝謝妳
哈囉~秀秀:我幫妳做了一個範例~加在這篇文章的下面,請隨意取用!如果需要看實際效果的話請將SQL的部分重新改寫為你的資料庫:P
謝謝分享^^
謝謝分享QQ
幫助很大~ 謝謝!!