Обновите значение скрытого поля в функции потока и получите значение скрытого поля со стороны клиента JQuery - PullRequest
1 голос
/ 10 января 2020

У меня есть функция потока для вставки данных из файла Excel в базу данных, данные которой затем привязываются к ASP. NET GridView

Я хочу получить значение переменная из моей функции со стороны клиента. Спасибо.

private void InsertToDb() {
  try {
    int successItems = 0;
    int columnsCount = int.Parse(Session["ColumnsCount"].ToString());
    int drpSelectedIndex = drpProjectScale.SelectedIndex;
    if (drpSelectedIndex > 0) {
      int LineScale = int.Parse(drpProjectScale.SelectedValue);
      if (
        !string.IsNullOrEmpty(txtDrawingNumberFrom.Text) &&
        !string.IsNullOrEmpty(txtContentFrom.Text) &&
        !string.IsNullOrEmpty(txtClassFrom.Text
      )) {
        int DrwingNufromColumn = int.Parse(txtDrawingNumberFrom.Text) - 1;
        int ContenFromColumn = int.Parse(txtContentFrom.Text) - 1;
        int ClassFromColumn = int.Parse(txtClassFrom.Text) - 1;
        if (
          DrwingNufromColumn < columnsCount &&
          ContenFromColumn < columnsCount &&
          ClassFromColumn < columnsCount
        ) {
          GridView1.AllowPaging = false;
          ReloadGridData();
          int rowsCount = GridView1.Rows.Count;
          for (int i = 0; i < rowsCount; i++) {
            Thread.Sleep(1000);
            GetText(i.ToString());
            ModelContext mc = new ModelContext();
            Lines line = new Lines();
            line.uniqueNum = GridView1.Rows[i].Cells[DrwingNufromColumn].Text;
            line.lineContent = GridView1.Rows[i].Cells[ContenFromColumn].Text;
            line.lineClass = GridView1.Rows[i].Cells[ClassFromColumn].Text;
            string thisRowValue = GridView1.Rows[i].Cells[DrwingNufromColumn].Text;
            var existQty = mc.lines.Where(a => a.uniqueNum == thisRowValue).ToList();
            if (existQty.Count == 0) {
              line.saveDateGregorian = DateTime.Now;
              line.SaveDatePersian = Helper.GetPersianDate(DateTime.Now);
              line.projectScalesID = LineScale;
              mc.lines.Add(line);
              mc.SaveChanges();
              successItems++;
            }
          }
          GridView1.AllowPaging = true;
          ReloadGridData();
          int failedItem = rowsCount - successItems;
          string FilePath = Server.MapPath("~/ImportLogs.xml");
          Helper.AddImportLogRecord(
            "ImportDrawingList",
             successItems,
             failedItem,
             FilePath
          );
          ScriptManager.RegisterStartupScript(
            this,
            GetType(),
            "YourUniqueScriptKey",
            "alert('Items Imported Successfully');",
            true
          );
          return;
        } else {
          ScriptManager.RegisterStartupScript(
            this,
            GetType(),
            "YourUniqueScriptKey",
            "alert('Column Numbers Are Invalid');",
            true
          );
          return;
        }
      } else {
        ScriptManager.RegisterStartupScript(
          this,
          GetType(),
          "YourUniqueScriptKey",
          "alert('Please Insert Column Numbers To Insert');",
          true
        );
        return;
      }
    }
    ScriptManager.RegisterStartupScript(
      this,
      GetType(),
      "YourUniqueScriptKey",
      "alert('Please Chooose Line Scale From List');",
      true
    );
    return;
  } catch (Exception ex) {
    string alertMessage = string.Format(
      "Error In Importing Drawing List {0}",
      ex.Message.Replace(Environment.NewLine, string.Empty)
    );
    string func = "alert('" + alertMessage + "');";
    ScriptManager.RegisterStartupScript(
      this,
      GetType(),
      "YourUniqueScriptKey",
      func,
      true
    );
  }
}
protected void Insert_Click(object sender, EventArgs e) {
  ThreadStart childthreat = new ThreadStart(InsertToDb);
  Thread child = new Thread(childthreat);
  child.Start();
}

Мой код на стороне клиента:

<script type="text/javascript">
$(document).ready(function() {
  const interval = setInterval(function() {
    GetSavedItemsCount();
  }, 2000);
});

function GetSavedItemsCount() {
  var rowID = $("#hdn").val();
  alert(rowID);
}
</script>

Моя проблема в том, что значение скрытого поля не отображается на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...