Question

J'ai créé un contrôle SpgridView dans ma partie Web visuelle.Inside SpgridView, il y a un contrôle de SphyperLink qui stocke une URL. Lorsque vous accédez à cette valeur à l'aide de SpgridView sélectionnée.Cells [3] .text, je reçois une valeur vide.

SpgridView Control

<SharePoint:SPGridView ID="ShowNode" runat="server" AutoGenerateColumns="false" 
        AllowSorting="true" OnRowDataBound="ShowNode_RowDataBound" OnSelectedIndexChanged="ShowNode_RowIndexChanged" OnSorting="ShowNode_Sort" OnRowCommand="ShowNode_RowClick">
<Columns>
<asp:ImageField HeaderText="Icon"  DataImageUrlField="Img" HeaderStyle-HorizontalAlign="Left"></asp:ImageField>
<SharePoint:SPBoundField HeaderText="Name" DataField="Title" HeaderStyle-HorizontalAlign="Left" SortExpression="Name"/>
<SharePoint:SPBoundField HeaderText="Type" DataField="Type" HeaderStyle-HorizontalAlign="Left" SortExpression="Type" />
<asp:HyperLinkField  DataTextField="Link" HeaderText="Link" Visible="false" HeaderStyle-HorizontalAlign="Left"/>
</Columns>
</SharePoint:SPGridView>

Evénement de clic de ligne

protected void ShowNode_RowIndexChanged(object sender, EventArgs e)
        {
            int ind = ShowNode.SelectedRow.RowIndex;
            string link = ShowNode.SelectedRow.Cells[3].Text;


        }

Était-ce utile?

La solution 2

J'ai pu obtenir les valeurs à l'aide de SpgridView Datakey Attribut.

Contrôle GridView

<SharePoint:SPGridView ID="ShowNode" runat="server" AutoGenerateColumns="false" AllowSorting="true" ShowFooter="true"  ShowHeader="true" DataSourceID="" DataKeyNames="Link,Type" OnRowDataBound="ShowNode_RowDataBound" OnSelectedIndexChanged="ShowNode_RowIndexChanged" OnSorting="ShowNode_Sort"  EnableViewState="true" >

<Columns>

<asp:ImageField HeaderText="Icon"  DataImageUrlField="Img" HeaderStyle-HorizontalAlign="Left">

</asp:ImageField><SharePoint:SPBoundField HeaderText="Name" DataField="Name" HeaderStyle-HorizontalAlign="Left" SortExpression="Name"/>

<SharePoint:SPBoundField HeaderText="Type" DataField="Type" HeaderStyle-HorizontalAlign="Left"  />

<asp:HyperLinkField  DataTextField="Link" HeaderText="Link" Visible="false" HeaderStyle-HorizontalAlign="Left"/>

</Columns> 

</SharePoint:SPGridView>

code derrière

string u= ShowNode.DataKeys[ShowNode.SelectedRow.RowIndex]["Link"].ToString(); 

string t = ShowNode.DataKeys[ShowNode.SelectedRow.RowIndex]["Type"].ToString();

Autres conseils

Essayez de supprimer "Visible= False" Propriété du champ HyperLink, puis vérifiez, il ne doit pas renverser la valeur vide.

Je reçois la valeur de mon côté.Essayez de le déboguer et voir dans la fenêtre "Maj + f9" Naviguez là-bas car cela vous aidera à trouver une valeur d'un contrôle particulier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top