Eval ile Sayısal ifadeyi Metinsel olarak göndermek

Bir projemde bir Grid nesnesi üzerinden LinkedButton ile bir JavaScript kodunu çalıştırıp ayrı bir pencere olarak yine bir .net sayfasının açılmasını sağlamaya çalışıyordum. Aslında bu kısma kadar yazdığım kod tarafın da bir sorun çıkmadı hatta çalışıyordu bile ama bir noktada hata oluyordu. Benim fonksiyona ilettiğim ID’ ler yerine kendi kafasına göre oluşturduğu ID’leri çağırıyordu. Peki bu nasıl oluyor du?

Aynen şöyle oluyordu. İlettiğim sayısal ifade “34578980013456789” gibi bir değer. JavaScript’ in ise benim .net sayfasına ilettiği değer ise “34578980013456780” hatta bazen “34578980013456800” oluyordu. Nedeni ise ben JavaScript tarafına değişkene sayısal halde değer gönderdiğimde uzunluğundan dolayı değeri belli aralıklar arasında tutması.

En son olarak bende kodu aşağıdaki gibi düzenledim ve sorun çözüldü.

<asp:GridView ID="grdCallHistory" runat="server" CellPadding="4" ForeColor="Black"
                        GridLines="Vertical" Width="689px"
                        BackColor="White" BorderColor="#DEDFDE" BorderStyle="None"
                        BorderWidth="1px" RowStyle-Height="20px" AutoGenerateColumns="False"
                        Font-Size="Smaller">
        <AlternatingRowStyle BackColor="White" />
        <Columns>
            <asp:BoundField DataField="MusteriNo" HeaderText="Müşteri No" />
            <asp:BoundField DataField="AgentId" HeaderText="Agent ID" />
            <asp:BoundField DataField="calldisconnectedtime" HeaderText="Çağrı Tarihi" />
            <asp:BoundField DataField="finishcode" HeaderText="Wrap Text" />
            <asp:BoundField DataField="ID" HeaderText="Finish Code ID" />
            <asp:BoundField DataField="Telefon" HeaderText="Aranan Telefon" />
            <asp:BoundField DataField="Not" HeaderText="Agent Not" />
            <asp:TemplateField HeaderText="İşlem"> 
                <ItemTemplate> 
                    <asp:HyperLink runat="server" ID="HLink"
                        Text='Detay' ForeColor="#DF7401"
                        NavigateUrl='<%# String.Format("javascript:OpenWindow(\"{0}\")", Eval("i3_identity").ToString()) %> ' />
                </ItemTemplate>  
                <ItemStyle ForeColor="#003300" />
            </asp:TemplateField>
        </Columns>
        <FooterStyle BackColor="#CCCC99" />
        <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White"
            Height="20px" />
        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
        <RowStyle BackColor="#D2EE99" />
        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
    </asp:GridView>
Etiket(ler): , .Yer işareti koy Kalıcı Bağlantı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir