爲了您的洞察力,爲了解我爲什麼出現此錯誤,實際上更好,還有如何解決它。我有一個GridView內嵌套的gridview。可能有更好的方法,但在這一點上,我已經得到了模式彈出工作,這也是永遠的,所以除非這是完全愚蠢的方式來顯示主細節,那麼現在就說出來。主要細節空引用異常
我能夠將datakey id傳遞給詳細網格,但那是我得到空引用異常的地方,我猜這個bug沒有存在,或者是不可見的。我的意思是,無論什麼原因,我該如何解決這個問題?感謝advace。
aspx文件:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:GridView ID="gvForum" runat="server" DataSourceID="odsForumApproval" DataKeyNames="id" Width="200px"
RepeatColumns="1" DataKeyField="id" CssClass="gridview"
AutoGenerateColumns="False" GridLines="None" OnSelectedIndexChanged="_OnCommand">
<AlternatingRowStyle CssClass="altbgcolor" />
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:Label runat="server" ID="lblTitle" Text='<%# Bind("Title") %>' />
<asp:Panel id="div" runat="server" align="center" class="confirm" style="display:none" >
<asp:GridView runat="server" ID="gvForumDetail" AutoGenerateColumns="False" DataKeyNames="id"
EmptyDataText="No Forum Detail" AllowPaging='true'
AllowSorting="true" PageSize="5" >
<AlternatingRowStyle CssClass="altbgcolor" />
<RowStyle VerticalAlign="Top" HorizontalAlign="Left" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblTraining" Text='<%# Bind("title") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblCompletionDate" Text='<%# Bind("description") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblRecurence" Text='<%# Bind("MemberName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblNotes" Text='<%# Bind("itemdate") %>' Width="200" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowCancelButton="true" ShowEditButton="true" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
<br />
<asp:Button ID="btnClose" runat="server" Text="Close" Width="50px" />
</asp:Panel>
<ajaxToolKit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="lblTitle"
PopupControlID="div"
CancelControlID="btnClose"
BackgroundCssClass="modalBackground" />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowSelectButton="True" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
代碼文件:
public void _OnCommand(object sender, EventArgs e)
{
ObjectDataSource ods = new ObjectDataSource();
ods.ID = "ods_ForumDetail";
ods.EnableViewState = true;
ods.TypeName = "Forum";
ods.SelectMethod = "GetForumPostByID";
string id = "";
int rowIndex = gvForum.SelectedIndex;
id = gvForum.DataKeys[rowIndex].Value.ToString();
ods.SelectParameters.Add("id", System.TypeCode.Int32, id);
GridView gvForumDetail = (GridView)Master.FindControl("ContentPlaceHolder1").FindControl("gvForum").FindControl("gvForumDetail");
gvForumDetail.DataSource = ods;
gvForumDetail.DataBind();
}
你得到的錯誤是哪一行? – Etch
gvForumDetail。DataSource = ods; – Risho
另外我真的不關心我的「評級」在這個論壇上,但我很喜歡我的帖子如何得分爲負2,我的問題「沒有顯示任何研究努力」。你們開玩笑吧? WTF! – Risho