首页 > 解决方案 > 在 aspx 中的错误列后在剑道上传时引发错误消息

问题描述

我正在使用剑道上传将文件上传到我的服务器并将数据写入数据库

$('#files').kendoUpload({
    async: {
        saveUrl: 'test.aspx/ImportExcel'
    },
    dropZone: '.drop-zone',
    multiple: true,
    clear: function () {

    },
    complete: function(){
     //This is called when all files are uploaded
    },

在后端 aspx 中,我读取了 excel 并将其保存到数据表中,我想检查数据表是否有 3 列是否正常,并将列写入数据库中,否则向用户发送一条消息,指出 excel 的格式不正确..我怎样才能做到这一点?

if dt.columns.count =3 { 写入数据库 } else { 向用户返回错误,指出 Excel 格式不正确 };

标签: asp.netexcelkendo-uiupload

解决方案


您需要的是上传文件的“服务器端验证”和显示消息的面板。在旧的 asp.net webforms 世界中,它应该如下所示:

     <telerik:RadAsyncUpload runat="server" EnableCustomValidation="true" ID="RadAsyncUpload1" OnFileUploaded="RadAsyncUpload1_FileUploaded"  >
     </telerik:RadAsyncUpload>

      <asp:Panel ID="InvalidFiles" Visible="false" runat="server" CssClass="qsf-error">
           <h3>Validation Erros:</h3>
           <ul class="qsf-list ruError" runat="server" id="InValidFilesList">
              <li>
                  <p class="ruErrorMessage">Your Excel is not valid...</p>
              </li>
           </ul>
      </asp:Panel>

     public void RadAsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)
      {
          var liItem = new HtmlGenericControl("li");
          liItem.InnerText = "Your uploaded Excel does not look so nice";
          InValidFilesList.Controls.AddAt(0, liItem);
          e.IsValid = false;  // (Add validation (see comment bellow))
      }

要验证您的 Excel 文件,您可以使用Open XML检查您的 Excel 文件。


推荐阅读