У меня есть функция потока для вставки данных из файла 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>
Моя проблема в том, что значение скрытого поля не отображается на стороне клиента.