我有一个ASP.NET页面,它使用ASP.NET Ajax Control Toolkit TabContainer.在这种情况Page_Load下,我隐藏了一些基于给予页面的数据的选项卡.然后,我想根据(可选)查询字符串参数的值使其中一个选项卡处于活动状态.
所以我有:
protected void Page_Load ( object sender, EventArgs e )
{
if ( !this.IsPostBack )
{
// Tabs with no data are hidden in here
LoadDataIntoTabs();
PreselectCorrectTab();
}
}
private void PreselectCorrectTab ()
{
if ( ctlTabContainer.Visible )
{
if ( !string.IsNullOrEmpty( Request.QueryString[ "tabIndex" ] ) )
{
int tabIndex = 0;
if ( int.TryParse( Request.QueryString[ "tabIndex" ], out tabIndex ) )
{
if ( ( ctlTabContainer.Tabs.Count > tabIndex ) && …Run Code Online (Sandbox Code Playgroud) 我需要在asp.net mvc中使用一些ajax控件工具包,比如Validator CallOut,ModalPopUp.
甚至我需要在更新面板中放置gridview?任何人都可以提供任何有价值的链接,以便我可以调查它吗?
我正在使用AsyncFileUpload(AJAX Toolkit)上传图像.我有一个处理图像大小调整的按钮.这已经工作了一段时间了,但现在不行了......
protected void BtnUploadImage_Click(object sender, EventArgs e)
{
var imageFileNameRegEx = new Regex(@"(.*?)\.(jpg|jpeg|png|gif)$",
RegexOptions.IgnoreCase);
if (!AsyncFileUpload1.HasFile ||
!imageFileNameRegEx.IsMatch(AsyncFileUpload1.FileName))
{
AsyncFileUpload1.FailedValidation = true;
ErrorLabel.Visible = true;
return;
}
ErrorLabel.Visible = false;
var file = AsyncFileUpload1.PostedFile.InputStream;
var img = Image.FromStream(file, false, false);
...
}
Run Code Online (Sandbox Code Playgroud)
另一件我觉得奇怪的事情:如果我尝试的图像小于80kb它可以工作..!
我们试图重启服务器,但没有变化.相同的代码在我的机器上运行良好.(听说之前?? :))
我还尝试将文件保存在服务器上,然后通过Image.FromFile()获取文件,但后来我得到"无法访问已关闭的文件".
怎么解决这个?
你能提出开源但商业友好的许可(非GPL) Javascript树吗?
请考虑我现有的Web应用程序需要它,所以我不确定GWT或Echo等其他工具是否合适.
我已经检查过:
我已经排除了DHTMLX和ExtJS(两者都是GPL,他们要求整个项目都是GPL).
提前感谢您的建议!
更新: 这个问题很旧,上面的列表不应再被考虑在内.我相信现在有更多更好的选择.
我在ModalPopupExtender中显示gridview.当屏幕分辨率很小时,弹出窗口将大到全部显示在页面上.
我只想在发生这种情况时向弹出窗口添加滚动条.
我知道它可能是一些CSS,但我尝试的都没有用.
这里有一些基础CSS
.modalTextBoxBackground
{
background-color:Gray;
filter:alpha(opacity=70);
opacity:0.7;
}
.modalTextBox
{
border: 1px solid #FFFFFF;
background-color: #0066CC;
color: #00FFFF;
}
Run Code Online (Sandbox Code Playgroud)
这里有一些来自aspx的代码
<asp:Panel ID="OptionSelectionPanel" runat="server" CssClass="modalTextBox">
<asp:UpdatePanel ID="OptionSelectionUpdatePanel" runat="server" UpdateMode="Conditional" >
<Triggers>
<asp:asyncPostBackTrigger ControlID="TemplateSelection" />
</Triggers>
<ContentTemplate>
<table class="EditRow">
<tr class="HeaderFooter">
<td colspan="3" class="modalTextBoxTitle">
Add options to Quote
</td>
</tr>
<tr>
<td>
Manufacturer
</td>
<td>
<asp:DropDownList ID="OptionManufacturerFilter" runat="server"
DataSourceID="OptionManufacturerDataSource" DataTextField="Name"
DataValueField="Code" AutoPostBack="True" >
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="NewOptionSelection"
runat="server"
DataSourceID="AvailableOptions"
DataKeyNames="Option_Id"
AllowPaging="True"
AllowSorting="True"
AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="category_Descr" …Run Code Online (Sandbox Code Playgroud) 目前,我有一个针对我目前的工作UI.I已经出来做网页UI的一会儿的触摸的ASP.net 3.5 Web应用程序.
当我上次做与UI相关的工作时(早在2007年),我使用了Ajax Control Toolkit - 特别是像MaskedEdit Extender等扩展器来实现很多UI功能,即限制用户输入错误的数据/格式等.
问题1: 是否有更新/更好/更简单的方法来实现类似于AjaxToolkit提供的扩展程序的功能,有人会推荐?
问题2 此外,我目前的应用程序需要在数字/日期格式方面支持多种文化.根据我使用Ajax扩展程序的经验,例如在MaskedEditExtender中,我必须明确指定Mask,这违背了它能够根据当前选择的文化切换格式的全部目的.是否有人知道控制方面的最新/最好的方法,我可以实现这一目标?
注意:我对轻量级第三方控件持开放态度,这可以帮助我做到这一点,但是由于他们的学习曲线/成本,他们宁愿不接触像infragistics/telerik类这样的重控制.
validation user-interface controls asp.net-3.5 ajaxcontroltoolkit
我在我的aspx.net页面中使用AsyncFileUpload控件.此控件在更新面板中运行.
我可以异步将文件成功上传到服务器.
我的问题是我无法在每个文件上传后刷新整个页面,因此我需要弄清楚如何清理上次上传的文件,因此当用户选择要上传的新文件时,旧文件不会出现在控件和控件中不会在ViewState中保留其上次上载.
我试过这个http://www.aspsnippets.com/Articles/Clear-contents-of-AsyncFileUpload-Control-after-upload-and-page-revisit.aspx但它只清除html,当我做服务器时异步回发,AsyncFileUpload控件仍然上传了最后一个文件.
有没有办法在服务器端进行清理?也许任何与视图状态相关的东西
任何帮助将不胜感激,谢谢.
正如标题所说,我遇到的问题是我需要使用短月份名称格式和年份,日期由AjaxControlToolkit中的MaskedEditExtender验证.DateTime的MMM-yyyy与MaskedEditExtender.Mask ="LLL-9999"不同.
如果我使用en-US语言环境,那就像魅力一样,但是如果我切换到fr-FR那么它将无法工作,因为法语中的短月表示使用4到5个字母(包括点).
有什么想法吗?谢谢.
我对asp.net和C#都很陌生,所以请耐心等待.如果以前曾经问过这个问题,我也很抱歉...如果有,请指导我到一个有帮助的页面.
是)我有的:
页面:有4个updatepanels
第一个UpdatePanel,包含(项目)gridview,用户显示选项(对此问题不重要)和执行数据库搜索的按钮,该数据库搜索返回显示到网格的项目列表.用户选择此网格上的项目...
2nd UpdatePanel包含一个下拉列表,其中包含从XML加载的可用任务列表.用户将选择一个任务,该任务在第二个更新面板中显示一堆可用选项/参数(也从XML文件加载)到另一个(参数)gridview.Gridview在这里总是有一行数据.我在这里使用gridview是因为它更容易而不是创建动态控件(参数不同于每个任务).用户可以在网格中输入参数值.用户单击"添加"按钮,该任务将添加到第3个更新面板中的另一个网格视图中.
3rd UpdatePanel包含一个(任务)gridview,其中包含用户添加的所有任务.还有一个按钮,可以批量运行所有任务.单击该按钮时,它将通过(任务)gridview查找要运行的待处理任务.对于每个挂起的任务,它调用一个适当处理任务的Web服务.Web服务将任务结果与日志输出一起返回.
4th UpdatedPanel现在只包含一个显示从Web服务返回的日志输出的div.
我想进一步研究,不知道如何:
希望你理解我的问题.如果有人能够对如何解决这项任务提供一些指导和/或指导,我们非常感激
更多信息:
使用Framework 3.5
使用Asp.net C#+ Ajax
Web服务是solaris盒子上的gSoap
提前谢谢了.
很抱歉作为一个菜鸟,我试图回复你的帮助,但发现我可以放入一些有限的角色.我现在只更新自己的评论.
谢谢你的建议.对于迟到的回复感到抱歉,我前几天一直在寻找并做了一些修改,让它与'PageAsyncTask'和'IAsyncResult'一起工作.我已经创建了一个将由页面调用的Web服务类.新的Web服务类将调用gSoap Web服务.我设法以某种方式'异步'运行它.
我有一个按钮执行:
protected void StartASyncJob()
{
PageAsyncTask task = new PageAsyncTask(
new BeginEventHandler(BeginAsyncCommandTask),
new EndEventHandler(EndAsyncCommandTask),
new EndEventHandler(AsyncCommandTaskTimeOut), null);
RegisterAsyncTask(task);
}
Run Code Online (Sandbox Code Playgroud)
BeginAsyncCommandTask将遍历网格,获取第一个待处理任务并调用Web服务.
然后,EndAsyncCommandTask将检索返回结果,写出(log)UpdatePanel.然后它将再次执行StartASyncJob(),查找要处理的下一个待处理记录.
只有在页面上不做任何其他操作时,所有这一切才有效.如果我(在异步进程运行时)在(项目)gridview中搜索更多项目或从(任务)下拉列表中选择新任务,则事件将不会触发,直到异步Web服务进程完成.当它完成后,下拉列表或搜索事件将触发,我的Web服务返回的日志详细信息不会更新.
我想'等待'是由'PageAsyncTask'从同一页面线程'生成'引起的?
我原以为让"异步"Web服务能够让用户一次做多件事,从而提供更好的用户体验.但似乎我错了和/或没有做对.
我还没有尝试过使用QueueUserWorkItem的建议; 但在此之前,请问是否会产生与使用'PageAsyncTask'相同的效果.使用QueueUserWorkItem会产生"从同一页面线程产生"的相同效果吗?
提前谢谢了.对不起,如果我没有很好地解释自己,如果您需要我发布我的代码,请告诉我.
我在aspx页面中的文本框控件上单击"添加自动完成页面方法"时遇到以下错误需要帮助:"无法创建页面方法"GetCompletionList"因为没有CodeBehind或CodeFile文件是找到了!".这与将Ajax控件添加到网页对象(如文本框)有关.
我已成功将Ajax Control Toolkit添加到我的Visual Studio 2012中的网站工具箱中.我已按照以下教程http://www.asp.net/ajaxlibrary/act_AutoC ...并在进入第4步时收到错误.
任何帮助或建议将不胜感激.
以下是我的代码的摘录:
<asp:Content ID="Content2" ContentPlaceHolderID="rightContent" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<td class="tdLeftSide">Manufacturer:</td>
<td class="tdRightSide" style="width: 264px">
<%--<asp:TextBox ID="txtManufacturer" runat="server" CssClass="txtFormatting"></asp:TextBox></td>--%>
<asp:TextBox ID="txtManufacturer" runat="server" CssClass="txtFormatting"></asp:TextBox>
<asp:AutoCompleteExtender ID="txtManufacturer_AutoCompleteExtender" runat="server" DelimiterCharacters="" Enabled="True" ServicePath="" TargetControlID="txtManufacturer" UseContextKey="True">
</asp:AutoCompleteExtender>
</td>
Run Code Online (Sandbox Code Playgroud) asp.net ×6
asp.net-ajax ×3
ajax ×2
c# ×2
asp.net-3.5 ×1
asp.net-mvc ×1
controls ×1
css ×1
cultureinfo ×1
image ×1
javascript ×1
tabcontainer ×1
tree ×1
upload ×1
validation ×1
vb.net ×1
widget ×1