2011-10-30 1 views
0

나는 데이터베이스와 함께 datagridview를 바인드했고 datanavigateurlfields property.I를 설정하려고합니다. 값이 데이터베이스에서 직접 오는 경우 값을 설정할 수 있지만 일부는 연결하려고했습니다. 과 같은 상수 문자열 "edit_profile.aspx +? uid"+ [데이터베이스의 값]과 같이 "edit_profile.aspx +? uid"를 URL에 추가하려고하면이 문자열이 데이터베이스 열로 취급됩니다. 이 값을 넣으려고하면 구문 분석기 오류가 발생했습니다. 나는 datanavigateurlfields.Please에 내가이를 수있는 방법을 말해 "제목"일부 값을 연결하려고asp.net의 datanavigateurlfields에서 여러 값의 조합을 갖는

<Columns> 
      <asp:hyperlinkfield datatextfield="heading" 
      datanavigateurlfields="heading"   
      headertext="Title" 
      target="_blank" 

      /> 

:

여기 내 코드입니다.

답변

1

이 같이 할 수있는 ....

 <asp:gridview id="OrdersGridView" 
     datasourceid="OrdersSqlDataSource" 
     autogeneratecolumns="false" 
     runat="server"> 

     <columns> 

      <asp:boundfield datafield="OrderID" 
      headertext="Order ID"/> 
      <asp:boundfield datafield="ProductID" 
      headertext="Product ID"/> 
      <asp:hyperlinkfield datatextfield="UnitPrice" 
      datatextformatstring="{0:c}" 
      datanavigateurlfields="ProductID" 
      datanavigateurlformatstring="~\details.aspx?ProductID={0}"   
      headertext="Price" 
      target="_blank" /> 
      <asp:boundfield datafield="Quantity" 
      headertext="Quantity"/> 

     </columns> 

     </asp:gridview> 

     <!-- This example uses Microsoft SQL Server and connects --> 
     <!-- to the Northwind sample database.     --> 
     <asp:sqldatasource id="OrdersSqlDataSource" 
     selectcommand="SELECT [OrderID], [ProductID], [UnitPrice], [Quantity] FROM [Order Details]" 
     connectionstring="server=localhost;database=northwind;integrated security=SSPI" 
     runat="server"> 
     </asp:sqldatasource> 

    </form> 
    </body> 
</html> 

당신이 pls는이 링크 for more info

또는

 <body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
      SelectCommand="SELECT [CustomerID], [CompanyName], [ContactName], [Address], [City] FROM [Customers]"> 
     </asp:SqlDataSource> 

    </div> 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CustomerID" 
      DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True"> 
      <Columns>   
       <asp:HyperLinkField DataNavigateUrlFields="CustomerID" 
        DataNavigateUrlFormatString="CustomerDetails.aspx?CID={0}" 
        Text="Pass Single Value" /> 
        <asp:HyperLinkField DataNavigateUrlFields="CustomerID, CompanyName, ContactName, Address, City" 
        DataNavigateUrlFormatString="CustomerDetails.aspx?CID={0}&CName={1}&ContactName={2}&Addr={3}&City={4}" // here you are defining values 
         Text="Pass Multiple Values" /> 
       <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" /> 
       <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" /> 
       <asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" /> 
       <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" /> 
       <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" /> 
      </Columns> 
     </asp:GridView> 
    </form> 
</body> 
를 통해 갈 것
관련 문제