Как написано в заголовке, у меня проблемы с назначением значений для текстового поля внутри панели. Проблема в том, что кнопка из gvAsseti не показывает pnlAsset (в котором есть текстовые поля) и не загружает значения в текстовые поля.
Что странно, так это то, что код работает нормально, и при использовании отладчика я смог увидеть, что правильные значения отправляются в текстовые поля, но по какой-то причине они не отображаются (все, что я получаю, это пустые текстовые поля).
Вот код фронта (извините за длину, вы можете пропустить среднюю часть, она имеет только текстовые поля):
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<uc:Firma ID="ucFirma" runat="server"></uc:Firma>
<asp:GridView ID="gvKontakti" runat="server" OnRowCommand="gvKontakti_RowCommand"
DataKeyNames="idKontakt">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnShowAssets" runat="server" CommandArgument='<%# Eval("idKontakt") %>'
CommandName="ShowAssets" Text="Prikaži assete" />
<asp:Button ID="btnAddAsset" runat="server" CommandArgument='<%# Eval("idKontakt") %>'
CommandName="AddAsset" Text="Dodaj asset" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="idKontakt" HeaderText="ID" Visible="false" />
<asp:BoundField DataField="Naziv" HeaderText="Naziv" />
</Columns>
</asp:GridView>
<asp:Panel ID="pnlAsset" runat="server">
<table>
<tr>
<td>
Naziv:
</td>
<td colspan="3">
<asp:TextBox ID="txtNaziv" runat="server" Width="430px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Kod 1:
</td>
<td>
<asp:TextBox ID="txtKod1" runat="server"></asp:TextBox>
</td>
<td>
Kod 2:
</td>
<td>
<asp:TextBox ID="txtKod2" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Datum isteka garancije:
</td>
<td>
<asp:TextBox ID="txtGarancija" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Lokacija:
</td>
<td colspan="3">
<asp:TextBox ID="txtLokacija" runat="server" TextMode="MultiLine" Width="455px" Height="200px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Opis:
</td>
<td colspan="3">
<asp:TextBox ID="txtOpis" runat="server" TextMode="MultiLine" Width="455px" Height="200px"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Aktivna imovina:
</td>
<td>
<asp:CheckBox ID="chkAktivna" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSave" runat="server" Text="Spremi" OnClick="btnSave_Click" />
</td>
</tr>
</table>
</asp:Panel>
<asp:UpdatePanel ID="upAsseti" runat="server">
<ContentTemplate>
<asp:GridView ID="gvAsseti" runat="server" onrowcommand="gvAsseti_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnShowAsset" runat="server" CommandArgument='<%# Eval("idAsset") %>'
CommandName="ShowAsset" Text="Prikaži asset" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
А также код позади:
protected void gvAsseti_RowCommand(object sender, GridViewCommandEventArgs e)
{
int idFirma = Convert.ToInt32(Request.QueryString["idt"]);
int idAsset = Convert.ToInt32(e.CommandArgument);
TicketingSystemEntities db = new TicketingSystemEntities();
if (e.CommandName=="ShowAsset")
{
var asset = (from a in db.Assets
where a.idAsset == idAsset
select a).SingleOrDefault();
pnlAsset.Visible = true;
txtGarancija.Text = asset.DatumGarancije.ToString();
txtKod1.Text = asset.Kod1;
txtKod2.Text = asset.Kod2;
txtLokacija.Text = asset.Lokacija;
txtNaziv.Text = asset.Naziv;
txtOpis.Text = asset.Opis;
if (asset.Aktivan == true)
{
chkAktivna.Checked = true;
}
else
{
chkAktivna.Checked = false;
}
}
}
}
Любая помощь будет оценена.