我目前在我的一个项目中使用 asp:formview,它是这样使用的;
<asp:FormView ID="formViewGalleryEdit" runat="server" DefaultMode="Edit"
RenderOuterTable="False" DataKeyNames="GalleryID"
onitemupdating="formViewGalleryEdit_ItemUpdating">
<EditItemTemplate>
<div class="field-group">
<label for="textBoxVendorName">Gallery Heading:</label>
<div class="field">
<asp:TextBox runat="server" ID="textBoxGalleryHeading" Width="90%"
Text='<%# Eval("GalleryHeading").ToString() %>' />
</div>
</div>
<div class="field-group">
<label for="textBoxDescription">Gallery Description:</label>
<div class="field">
<asp:TextBox runat="server" ID="textBoxDescription" Text='<%# Eval("GalleryDescription") %>'
Width="90%" Columns="50"
Rows="7" TextMode="MultiLine" />
</div>
</div>
<div class="field-group inlineField">
<label for="myfile">Gallery Image:</label>
<div class="field">
<asp:FileUpload ID="imageFileUpload" runat="server" />
</div>
</div>
<br />
<div class="field-group inlineField">
<div class="field">
<img src='/images/gallery/<%# Eval("GalleryImage") %>' alt='<%# Eval("GalleryImage") %>' />
</div>
</div>
<div class="field-group">
<label for="textBoxDescription">Gallery Button Text:</label>
<div class="field">
<asp:TextBox runat="server" ID="textBoxButtonText" Text='<%# Eval("GalleryButtonText") %>'
Width="90%" />
</div>
</div>
<div class="field-group">
<label for="textBoxDescription">Gallery Button URL:</label>
<div class="field">
<asp:TextBox runat="server" ID="textBoxGalleryUrl" Text='<%# Eval("GalleryButtonUrl") %>' Width="90%" />
</div>
</div>
<br />
<div class="field-group">
<div class="actions">
<asp:Button ID="buttonUpdate" runat="server" CausesValidation="True" CommandArgument='<%# Eval("GalleryId") %>'
Width="60" CommandName="Update" Text="Update" />
<asp:Button ID="buttonCancel" runat="server" CausesValidation="False" Width="60"
CommandName="Cancel" Text="Cancel" />
</div> <!-- .actions -->
</div>
</EditItemTemplate>
</asp:FormView>
现在,在这个文件后面的代码中,我正在处理它;
protected void formViewGalleryEdit_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
try
{
string galleryId = e.CommandArgument.ToString();
string galleryHeading = Server.HtmlEncode(((TextBox)formViewGalleryEdit.FindControl("textBoxGalleryHeading")).Text);
string galleryDescription = ((TextBox)formViewGalleryEdit.FindControl("textBoxDescription")).Text;
FileUpload control = (FileUpload)formViewGalleryEdit.FindControl("imageFileUpload");
string galleryImage = control.FileName;
string location = Server.MapPath("~/images/gallery/") + galleryImage;
control.SaveAs(location);
string galleryButtonText = ((TextBox)formViewGalleryEdit.FindControl("textBoxButtonText")).Text;
string galleryUrl = ((TextBox)formViewGalleryEdit.FindControl("textBoxGalleryUrl")).Text;
bool status = GalleryManager.UpdateGallery(galleryId, galleryHeading, galleryDescription, galleryImage,
galleryButtonText, galleryUrl);
if (status)
{
literalSucess.Text = "Item Updated Successfully";
panelScucess.Visible = true;
}
}
catch (Exception ex)
{
literalError.Text = ex.Message;
panelError.Visible = true;
}
}
我还插入了一个断点,但它没有触发事件。我做错了什么?感谢并感谢所有回答