我对此感到困惑。我有一个带文件控制的updatepanel,两个单选按钮,一个名为submit的按钮和一个名为cancel的按钮。当我单击提交按钮时,它会抛出System.NullReferenceException(我已将提交按钮设置为PostBackTrigger)。
代码如下所示。 Line405是例外的来源:
Line 403: protected void uploadfile(object sender, EventArgs e)
Line 404: {
Line 405: string uploadwhat = Request.QueryString["certificate"].ToString();//identify content of upload
aspx代码如下:
<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<div align="center">
<asp:Table ID="Table1" runat="server" BackColor="AliceBlue" Height="80px"
Width="966px" BackImageUrl="~/catalog/3.png"
style="margin-left: 20px" BorderColor="Lime"
BorderStyle="None" BorderWidth="1px">
<asp:TableRow>
<asp:TableCell>
<asp:Table ID="Table3" runat="server" Width="927px">
<asp:TableRow></asp:TableRow>
</asp:Table>
<asp:Table ID="Table2" runat="server" Width="927px">
<asp:TableRow></asp:TableRow>
</asp:Table>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<asp:Table ID="Table4" runat="server" Width="966px" style="margin-left: 20px">
<asp:TableRow>
<asp:TableCell style="text-align:left"></asp:TableCell>
<asp:TableCell style="text-align:right"></asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
<br /><br />
<div align="center">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ModalPopupExtender TargetControlID="HiddenField1" PopupDragHandleControlID="panelTitle" BackgroundCssClass="modalBackground" PopupControlID="Panel1" ID="ModalPopupExtender1" RepositionMode="RepositionOnWindowResizeAndScroll" DropShadow="true" runat="server"></asp:ModalPopupExtender>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Panel ID="Panel1" runat="server" Style="display: none; background-color:snow" ForeColor="Black" Width="600" Height="240">
<asp:Panel ID="panelTitle" runat="server" style="cursor:move;font-family:Tahoma;padding:2px;" HorizontalAlign="Center" BackColor="#00ccff" ForeColor="White" Height="30" ><b>Upload Certificate or Comment To Review</b>
</asp:Panel>
<br />
<table style="width: 100%;">
<tr>
<td colspan="2" style="text-align:center">
<asp:Label ID="CR" runat="server" Text=""></asp:Label>
<asp:HiddenField ID="hiid" runat="server" />
</td>
</tr>
<tr style="height:15px">
<td colspan="2"> </td>
</tr>
<tr>
<td style="text-align:right">
Certificate<input id="Radio1" type="radio" title="Certificate" name="certificate" value="certificate" checked="checked" onclick="checkawy1()"/>
</td>
<td style="text-align:left">
<input id="File1" type="file" name="upload" style="width:400px" onchange="showimagepreview(this)"/>
<img id="imgprvw" alt="uploaded image preview" src="#"/>
</td>
</tr>
<tr style="height:15px">
<td colspan="2"> </td>
</tr>
<tr>
<td style="text-align:right">
Justification<input id="Radio2" type="radio" title="Justification" name="certificate" value="justification" onclick="checkawy()"/>
</td>
<td style="text-align:left">
<textarea id="TextArea1" name="justification" cols="20" rows="2" style="width:400px" disabled="disabled"></textarea>
</td>
</tr>
<tr style="height:15px">
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<asp:Button ID="up" runat="server" Text="Submit" OnClick="uploadfile" OnClientClick="return checkcentent()"/>
<asp:Button ID="Button1" runat="server" Text="Cancel" />
</td>
</tr>
</table>
</asp:Panel>
<asp:gridview ID="Gridview1" runat="server" Width="932px" DataKeyNames="id"
AutoGenerateColumns="False" OnRowEditing = "Gridview1_RowEditing" OnRowDataBound="Gridview1_RowDataBound" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdating="Gridview1_RowUpdating" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="id">
<HeaderStyle CssClass="hidden" />
<ItemStyle CssClass="hidden" />
</asp:BoundField>
<asp:TemplateField HeaderText="CourseName">
<ItemTemplate>
<asp:LinkButton ID="redirect" runat="server" Text='<%# Eval("CourseName")%>' CommandName="redirect" ToolTip="Download File or Open new dialogue to the source"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField DataField="CourseName" HeaderText="CourseName" ReadOnly="true" SortExpression="Model">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="hidden" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" CssClass="hidden" />
</asp:BoundField>
<asp:TemplateField HeaderText="Certificate">
<ItemTemplate>
<asp:ImageButton ID="Imagecc" ImageUrl="~/images/certificate.png" runat="server" ToolTip="Click to check your certificate or justification"/>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField HeaderText="Evaluation" DataField="evaluation" ReadOnly="True" >
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="Comment">
<ItemTemplate>
<asp:ImageButton ID="Imagecm" runat="server" ImageUrl="~/images/comment.png" ToolTip="Click to check comment" OnClick="Imagecm_Click"/>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Status">
<EditItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("status") %>' />
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<%# Eval("status")%>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:CommandField CancelText="Cancle" EditText="Update Status" HeaderText="Operate"
ShowEditButton="True" UpdateText="Update" >
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:CommandField>
<asp:TemplateField HeaderText="Upload">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" CommandArgument='<%# Eval("id") %>' ImageUrl="~/images/upload.png" OnClick="ImageButton1_Click" ToolTip="Click to upload certificate or justification"/>
<%--<asp:Button ID="Button4" runat="server" Text="编辑" CommandArgument='<%# Eval("id") %>' OnClick="Button4_Click" />--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField DataField="comment" HeaderText="CommentContent">
<HeaderStyle CssClass="hidden" />
<ItemStyle CssClass="hidden" />
</asp:BoundField>
<asp:BoundField DataField="certificate" HeaderText="CertificateContent">
<HeaderStyle CssClass="hidden" />
<ItemStyle CssClass="hidden" />
</asp:BoundField>
</Columns>
</asp:gridview>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="up"/>
</Triggers>
</asp:UpdatePanel>
</div>
</form>