2012-09-03 2 views
1

Мой datagrid привязан к базе данных Sql-Server. Datagrid показывает информацию для каждой комнаты. В конце asp.net добавлен дополнительный столбец, в котором указаны детали. Пользователь нажимает детали рядом с желаемой комнатой, и он должен открыть новую веб-страницу в этой комнате. Однако может возникнуть проблема, когда пользователь ищет комнату, где они выполняют поиск, как я могу сделать так, чтобы каждый раз, когда каждая ссылка на детали привязана к определенной комнате.ASP.Net DatagridView Выбор ссылок на страницу

Теперь я думаю, что мне нужно добавить новый столбец внутри таблицы таблицы базы данных Sql, чтобы, возможно, провести ссылку? это возможно, у кого есть решение для этого.

ответ

1

ASPX страницы:

<asp:Label ID="lblRoomName" runat="server"></asp:Label> 

код позади:

string strRoomId = Request.QueryString["Id"].ToString(); 
SqlConnection sqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconstr"].ConnectionString); 
SqlCommand sqlcommand = new SqlCommand("Select * from RoomDetails where RoomId = @RoomId", sqlCon); 
sqlcommand.Parameters.AddWithValue("@RoomId", strRoomId); 
SqlDataAdapter da = new SqlDataAdapter(sqlcommand); 
DataSet ds = new DataSet(); 
da.Fill(ds); 
GridView1.DataSource = ds; 
GridView1.DataBind(); 
+0

Всем спасибо :) – user1638362

+0

Так что я знаю, как это сделать с помощью текстовых полей/меток. но как это сделать, чтобы он показывал данные в этой комнате?когда он загружает страницу сведений о номере101. – user1638362

+0

Я попробовал это GridView1.DataSource = dr; GridView1.DataBind(); , но ничего не видно. – user1638362

2

Вам просто нужно добавить hyperlinkfield вам GridView

В собственности DataNavigateUrlFormatString напишешь адрес шаблона на странице сведений , например, «Details.aspx? ID = {0}» и в DataNavigateUrlFields вы будете напишите имя столбца DB, который содержит идентификатор строки. Содержимое поля ID будет автоматически заменить {0} часть DataNavigateUrlFormatString

пример из MSDN:

<columns> 

    <asp:boundfield datafield="OrderID" 
    headertext="OrderID"/> 
    <asp:boundfield datafield="CustomerID" 
    headertext="Customer ID"/> 
    <asp:boundfield datafield="OrderDate" 
    headertext="Order Date" 
    dataformatstring="{0:d}" /> 
    <asp:hyperlinkfield text="Details..." 
    navigateurl="~\details.aspx"    
    headertext="Order Details" 
    target="_blank" /> 

</columns> 

+0

Извините im new для ASP.net и im abit confused. Поэтому мне нужно создать новую страницу под названием «Детали», вместо того, чтобы иметь несколько страниц от 101-110. Как сделать эту детальную страницу шаблоном? :/потому что страница с подробными сведениями не будет содержать точно такую ​​же информацию каждый раз, так что мне не понадобится несколько разных страниц aspx? Есть ли урок об этом, я могу посмотреть/посмотреть на – user1638362

+0

Извините, я только что проверил это, и я вижу, что он делает сейчас! – user1638362

+0

Просто последнее, так что теперь у меня есть RoomDetails.aspx? Id = 101, RoomDetails.aspx? Id = 102. Как отредактировать каждую из этих страниц, так как в моей панели у меня есть только Roomdetails.aspx. – user1638362

Смежные вопросы