gpt4 book ai didi

javascript - Asp.net MVC 在按钮单击时运行 javascript

转载 作者:行者123 更新时间:2023-12-03 08:20:37 25 4
gpt4 key购买 nike

我的代码逻辑有点困惑,而且我不知道如何修复它。我有一个 Bootstrap navtab 面板,当单击选项卡时,根据单击的选项卡,它会在我的 Controller 中运行 MVC C# 函数。我实际上需要通过单击按钮来实现此操作。因此,用户在日期选择器中输入日期,单击提交,然后根据选择的选项卡运行一个函数。我怎样才能通过点击按钮来做到这一点?

这是我的日期选择器和按钮:

<div class="row spiff-datepicksection">
<div class="col-lg-6 pull-right">
<div class="col-sm-5 col-lg-offset-4">
<div class="form-group">
<div class="input-group date">
<input id="startDate" type="text" class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="col-lg-3">
<input class="spiffdate-btn" type="submit" value="Submit" />
</div>
</div>
</div>

这是我的 JavaScript:

<script>
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var wrongid = $('.tab-content .active').attr('id');
$('a[data-toggle="tab"]').removeClass("active");
$(this).addClass("active");
var correctid = $(this).data("id");
alert($('.tab-content .active')[0].outerHTML);

var startDate = $('#startDate').val();

if (correctid == "delayedspiff")
$.get("@Url.Action("DelayedSpiffDate", "Dashboard")", { startDate: startDate });
else
$.get("@Url.Action("InstantSpiffDate", "Dashboard")", { startDate: startDate });

});
</script>

如果需要的话,这是我的 Controller :

public ActionResult DelayedSpiffDate(DateTime startDate)
{
var available = _appService.GetFeatureStatus(1, "spiffDashboard");
if (!available)
return RedirectToAction("DatabaseDown", "Error", new { area = "" });

var acctId = User.AccountID;
//startDate = DateTime.Today.AddDays(-6); // -6
var endDate = DateTime.Today.AddDays(1); // 1

Dictionary<DateTime, List<SpiffSummaryModel>> dict = new Dictionary<DateTime, List<SpiffSummaryModel>>();

try
{
var properties = new Dictionary<string, string>
{
{ "Type", "DelayedSpiff" }
};
telemetry.TrackEvent("Dashboard", properties);

dict = _reportingService.GetDailyDelayedSpiffSummaries(acctId, startDate, endDate);

}
catch (Exception e)
{
if (e.InnerException is SqlException && e.InnerException.Message.StartsWith("Timeout expired"))
{
throw new TimeoutException("Database connection timeout");
}
var error = _errorCodeMethods.GetErrorModelByTcError(PROJID.ToString("000") + PROCID.ToString("00") + "001", "Exception Getting DelayedSpiff Dashboard View", PROJID, PROCID);
error.ErrorTrace = e.ToString();
_errorLogMethods.LogError(error);
return RedirectToAction("index", "error", new { error = error.MaskMessage });
}

var spiffDateModels = new List<DelayedSpiffDateModel>();

foreach (var entry in dict)
{
var spiffDateModel = new DelayedSpiffDateModel();

spiffDateModel.Date = entry.Key;

spiffDateModel.Carriers = new List<DelayedSpiffCarrierModel>();

foreach (var item in entry.Value)
{
var spiffCarrierModel = new DelayedSpiffCarrierModel();
spiffCarrierModel.Carrier = item.CarrierName;
spiffCarrierModel.CarrierId = item.CarrierId;
spiffCarrierModel.ApprovedSpiffTotal = item.ApprovedSpiffTotal;
spiffCarrierModel.EligibleActivationCount = item.EligibleActivationCount;
spiffCarrierModel.IneligibleActivationCount = item.IneligibleActivationCount;
spiffCarrierModel.PotentialSpiffTotal = item.PotentialSpiffTotal;
spiffCarrierModel.SubmittedActivationCount = item.SubmittedActivationCount;
spiffCarrierModel.UnpaidSpiffTotal = item.UnpaidSpiffTotal;
spiffDateModel.Carriers.Add(spiffCarrierModel);
}

spiffDateModels.Add(spiffDateModel);
}
spiffDateModels = spiffDateModels.OrderByDescending(x => x.Date).ToList();

return PartialView(spiffDateModels);
}

关于如何通过点击按钮实现这一点有什么想法吗?

最佳答案

您可以尝试创建“click”事件的处理程序,该处理程序应检索所选选项卡的有效标识符并向服务器发送 GET 请求。

$(".spiffdate-btn").click(function(){
var correctid = $(".tab-content .active").attr("id");
var startDate = $("#startDate").val();
if (correctid == "delayedspiff")
$.get("@Url.Action("DelayedSpiffDate", "Dashboard")", { startDate: startDate });
else
$.get("@Url.Action("InstantSpiffDate", "Dashboard")", { startDate: startDate });
});

关于javascript - Asp.net MVC 在按钮单击时运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com