なぜ私はこのエラーが発生しているのか、あなたの洞察のために、実際にはより良い方法は、それを修正する方法です。グリッドビュー内にネストされたグリッドビューがあります。より良い方法があるかもしれませんが、現時点ではモーダルポップアップを使用することができます。これは永遠に使用されます。これが完全に愚かな方法でマスターディテールを表示しない限り、今すぐ言いましょう。マスター詳細Null参照例外
詳細グリッドにdatakey idを渡すことができますが、null参照例外が発生します。バグはまだ存在しないか、または表示されません。どういうわけか、私はこれをどうやって解決するのですか?ありがとうございました。
の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