Gridview html encode kikapcsolása

Gridview html encode kikapcsolása
2017-05-24T14:07:20+02:00
2017-05-30T08:33:18+02:00
2022-10-15T22:41:12+02:00
SzuperPeti
Sziasztok!

Previouspage el hivatkozok egy másik oldalon található gridviewra. Amikor az adatokat ki szeretném olvasni, sajnos rossz a kódolása. Ha jókat találtam a neten, akkor a HTMLEncode -ot kell false ra állítani, de én valahogy nem találom, hogy ezt hol lehet állítani.

MSDN szerint:

<asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="false" allowpaging="true" runat="server"> <columns> <asp:boundfield datafield="CustomerID" readonly="true" headertext="Customer ID"/> <asp:boundfield datafield="CompanyName" htmlencode="false" headertext="Customer Name"/> <asp:boundfield datafield="Address" htmlencode="false" headertext="Address"/> <asp:boundfield datafield="City" htmlencode="false" headertext="City"/> <asp:boundfield datafield="PostalCode" htmlencode="false" headertext="ZIP Code"/> <asp:boundfield datafield="Country" htmlencode="false" headertext="Country"/> </columns> </asp:gridview>
De az az igazság, hogy az én kódomban valamiért ez nem igazán akar menni:

Visual Studio 2015
Mutasd a teljes hozzászólást!
Csatolt állomány
Mit jelent az, hogy rossz a kódolás? Hibásak az ékezetek (pl.: adatbázisból rosszul jön) vagy a HTML szerinti pl.:  &eacute; jelek jelennek meg?

Ha utóbbi, és code-ból tudod manipulálni, akkor az alábbival tudod visszafordítani:

string columnText = HttpUtility.HtmlDecode(columnText);
Mutasd a teljes hozzászólást!

  • Hello


    A csatolt kép alapján, a 42. sorban a kódodat egészítsd ki még ezzel: autogeneratecolumns="false"

    lássuk mi történik.
    Mutasd a teljes hozzászólást!
  • Mit jelent az, hogy rossz a kódolás? Hibásak az ékezetek (pl.: adatbázisból rosszul jön) vagy a HTML szerinti pl.:  &eacute; jelek jelennek meg?

    Ha utóbbi, és code-ból tudod manipulálni, akkor az alábbival tudod visszafordítani:

    string columnText = HttpUtility.HtmlDecode(columnText);
    Mutasd a teljes hozzászólást!
  • Szia!

    Igen, hibásak az ékezetek. Például a "Próba" -ból lesz Pr&#243;ba, az üres helyből pedig &nbsp; 



    Ezt én úgy érzékelem html encode hiba. Persze javíts ki kérlek, ha tévedek. Kipróbáltam a kódot, amit küldtél, de sajnos nem jó. Lehet jó lenne, csak rosszul használom. 

    Van egy Gridviewem, ami adatbázisból szedi Datasource al az adatokat.

    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="Tools_ID" AllowSorting="True" CssClass="auto-style1"> <Columns> <asp:CommandField ShowDeleteButton="True" /> <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="lnkDetails" runat="server" Text="Edit" PostBackUrl='<%# "~/Edit.aspx?RowIndex=" + Container.DataItemIndex %>'></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
    Beleraktam egy "Edit" nevü link gombot, ami átirányít egy oldalra. Ezen az oldalon lehet megadni az új adatokat.

    Az Edit oldalon egy previouspage el hivatkozom a Gridviewre. Ez sikerül is, viszont az ékezetes adatokkal gond van. Így próbáltam használni a kódot amit küldtél:

    int rowIndex = int.Parse(Request.QueryString["RowIndex"]); GridView GridView1 = (GridView)this.Page.PreviousPage.FindControl("GridView1"); GridViewRow row = GridView1.Rows[rowIndex]; string columnText = HttpUtility.HtmlDecode(row.Cells[7].Text); NameOfTool_lbl.Text = columnText;
    Rosszul használom ? Vagy a megvalósítás rossz ?
    Mutasd a teljes hozzászólást!
  • Igen, rosszul használtam :)

    Description_tbx.Text = HttpUtility.HtmlDecode( row.Cells[8].Text);
    Tökéletesen működik, köszönöm segítséged! :)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd