2013-10-01 2 views
1

У меня есть проблемы с моим кодом в ASPX и C#магазин конкретного элемент табличного вида строки

Вид сетки показан ниже

FID Name  

100 ab *Download* 

200 bb *Download* 



<asp:LinkButton ID="lnkDownload" runat="server" OnClick = "DownloadFile" 

CommandArgument='<%Eval("FID")%>' Text="Download" CommandName="DownloadFile" /> 

Мне нужно, чтобы загрузить информацию о каждом индивиды с точки зрения их FID, так что я исполняющих код ниже, но его не вернувшихся что-нибудь

protected void DownloadFile(object sender, EventArgs e) 
    { 

    string FID = ((LinkButton)sender).CommandArgument; 


    var dt = GetData("select * from Personal_det where FID = '"+ FID +"'"); 

    if (dt != null && dt.Rows.Count > 0) 
    { 
     DataRow dr = dt.Rows[0]; 
    // 
    // more code 
// 
       } 
} 

но irrespect из FID, если я пытаюсь выполнить код, как

protected void DownloadFile(object sender, EventArgs e) 
    { 

    string FID = ((LinkButton)sender).CommandArgument; 


    var dt = GetData("select * from Personal_det “); 

    if (dt != null && dt.Rows.Count > 0) 
    { 
     DataRow dr = dt.Rows[0]; 
    // 
    // more code 
    // 
       } 
    } 

Этот код загрузит документ, что мне нужно для FID, который хранится в сеансе. Итак, я узнал, что проблемы возникают в SQL-запросе, который я включил в код. Как вы можете видеть в приведенном выше виде сетки, каждая строка имеет ссылку для загрузки для каждого FID, поэтому мне нужно получить доступ к FID из сетки вид и назвать его в SQL-запрос, который я написал в коде

+1

Вы пропускаете #. Это должно быть '<% # Eval (" FID ")%>' – Nisha

ответ

0

Вы можете использовать событие gridView_RowCommand.

protected void gridView_RowCommand(object sender, object sender, GridViewCommandEventArgs e) 
{ 
    int rowIndex = Convert.ToInt32(e.CommandArgument); 
    gridView.SelectedIndex = rowIndex; 
    if (e.CommandName == "DownloadFile") 
    { 
      DownloadFile(gridView.DataKeys[rowIndex]["FID"].ToString()); 
    } 
} 

В вашем ASPX кода использование DataKeyNames = Ваша кнопка ссылки "FID" и должен выглядеть

<asp:LinkButton ID="lnkDownload" runat="server" CommandArgument='<%#Container.DataItemIndex%>' Text="Download" CommandName="DownloadFile" /> 

Надеется, что это помогает

+0

Я не пробовал ваш ответ, но ошибка, которую я обнаружил, была в самом CommandArgument, я изменил ее на '<% # Eval (" FID ")%>' –

+1

У меня была эта проблема много раз. '#' был виновником – Nisha

0

там отсутствует # в <% Eval ("FID")%>, замените его на <% # Eval ("FID")%>

+0

Я не могу взять его как целое число, потому что FID может быть «m001», который является строкой, поэтому мне нужно это в строке –

+0

Я сохранил FID как строку в база данных –

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