【发布时间】:2019-05-27 12:30:38
【问题描述】:
我有 2 个 div,一个 div 有一个在服务器端运行的 html 按钮,并在同一页面上的另一个 div 中的 reportviewer 中生成一个 rdlc 报告。 回发后,整个页面刷新并清除我在回发之前已经选择的下拉列表中的数据。 请在回发报告生成后如何防止下拉列表和其他控件的值被清除。 UpdatePanel 对我不起作用 谢谢
将数据加载到选择下拉菜单中
$(document).ready(function () {
//$("#assayreport").tableHeadFixer({ 'foot': true });
"responsive"; true,
"serverSide"; true,
"info"; true,
"stateSave"; true,
$.ajax({
url: 'RhemaServices.asmx/GetJobs',
data: '{"jobnumber":"","clientID":"0","status":"2"}',
type: 'POST',
dataType: 'json',
contentType: "application/json; charset-utf-8",
success: function (data) {
jobdatavariable = data
$.each(data, function (i, item) {
$('<option value="' + item.TotalInvoiceValue + '">' + item.JobNumber + '</option>').appendTo('#jobcard');
});
},
error: function (err) {
console.log(err)
},
complete: function () {
}
});
});
<div class="col-md-4">
<div class="box box-primary">
<div class="box-header">
<%-- <h3 class="box-title" id="jobidss" style="color: #3C8DBC;">Job Card Details</h3>--%>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
</div>
<div class="box-body">
<div class="col-lg-8">
<div class="form-group">
<label style="color: red;">Select Job Card </label>
<div class=".col-xs-3">
<select class="select2 form-control" id="jobcard" name="jobcard" onchange="return getJobNo()">
<option selected="selected"></option>
</select>
</div>
</div>
<div style="display: nones;">
<span style="float: right">
<button id="but_add" class="btn btn-primary fa fa-eye" runat="server" onserverclick="LoadData"> Get Invoice</button></span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-8">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title" id="jobidS" style="color: #3C8DBC;">Gold Assay Invoice</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div>
</div>
<div class="box-body" style="display: nones">
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<rsweb:ReportViewer ID="rv" runat="server" Height="800px" Width="100%" SizeToReportContent="True" ShowBackButton="False" ShowCredentialPrompts="False" ShowDocumentMapButton="False" ShowFindControls="False" ShowParameterPrompts="False" ShowPromptAreaButton="False">
</rsweb:ReportViewer>
</ContentTemplate>
</asp:UpdatePanel>
<asp:HiddenField ID="jobnumber" runat="server" />
</form>
</div>
</div>
</div>
页面加载和按钮点击事件的C#代码(LoadData)
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
}
}
protected void LoadData(object sender, EventArgs e)
{
rv.ProcessingMode = ProcessingMode.Local;
rv.LocalReport.ReportPath = Server.MapPath("~/Reports/Invoice.rdlc");
DataTable dt = GetData();
ReportDataSource datasource = new ReportDataSource("DataSet1", dt);
rv.LocalReport.DataSources.Clear();
rv.LocalReport.DataSources.Add(datasource);
rv.LocalReport.Refresh();
}
【问题讨论】:
-
你能显示页面加载的c#代码并报告按钮点击的调用代码
-
你是如何绑定你的下拉菜单的?
-
谢谢,我已经编辑了之前的帖子,也正在使用Ajax将数据加载到下拉控件中