我是ASP.NET的新手,并试图了解事情是如何完成的.我来自C#背景,因此代码隐藏部分很容易,但是像Web开发人员一样思考是不熟悉的.
我有一个包含复选框网格的aspx页面.我有一个按钮,通过Button_Click事件编码,以收集检查哪些行的列表,并从该列表中创建一个会话变量.我的ascx页面的ModalPopupExtender引用了相同的按钮(通过TargetControlID),它控制了ascx页面上的面板.
单击该按钮时,模式弹出窗口将打开,但Button_Click事件永远不会被触发,因此模态不会获取其会话数据.
由于这两个页面是分开的,我不能从aspx.cs代码调用ModalPopupExtender,我无法从ascx.cs代码到达复选框列表,我也看不到填充会话变量的方法然后以编程方式激活其他一些隐藏的按钮或控件,然后打开我的模态弹出窗口.
有什么想法吗?
我们正在编写一个搜索应用程序,将搜索条件保存到会话状态,并在asp.net更新面板内执行搜索.有时,当我们连续执行多次搜索时,第二次或第三次搜索有时会返回第一组搜索条件的结果.
示例:我们的第一次搜索我们查看"John Smith" - >显示John Smith结果.第二次搜索我们查看"Bob Jones" - >显示John Smith结果.
我正如我所说的那样保存会话状态中的所有搜索条件,并从ajax请求中的会话状态读取它以格式化数据库查询.当我们在VS中放置断点时,一切都表现正常,但没有它们我们就会得到原始搜索条件和结果.
我的猜测是因为它们被保存在会话中,ajax请求以某种方式获得自己的会话并将条件保存到该会话,然后每次从该会话中检索条件,但是非异步的东西能够看到标准何时被修改并相应地将更改保存到状态,但由于它们来自两个不同的会话,因此保存和读取的内容存在差异.
编辑:::详细说明,有一个建议是将搜索条件附加到查询字符串,这通常是一种良好的做法,我同意它应该如何,但遵循我们的要求我不认为它是可行的.他们想要它,所以用户填写输入控件命中搜索,没有页面重新加载,他们唯一看到的是页面上的进度指示器,他们仍然能够导航和使用当前页面上的其他功能.如果我要向查询字符串添加条件,我将不得不执行另一个请求导致整个页面加载,这取决于搜索条件可能需要很长时间.这就是为什么我们使用ajax调用来执行搜索以及为什么我们不会导致另一个完整页面请求.....我希望这可以澄清情况.
我需要一个ac#asp.net项目的建议.我的客户希望通过带有主/详细结构的gridview对象查看一些报告.
主网格视图将由所有主数据填满,每行在第一个单元格上将有一个+图标(或按钮).当用户单击此图标时,应在具有折叠操作的主行下看到该主行的所有详细信息数据.
我可以处理数据库进程但我无法弄清楚崩溃的部分.如何在gridview对象的特定行下面添加一些额外的行?
提前致谢..
我正在构建一个asp.net应用程序,我应该使用哪种技术来获得AJAX功能?为什么?到目前为止,我只需要在网格视图中使用"确认"按钮,但可能需要更多功能.我可以同时使用两个,对吗?谢谢.
我在我的页面的代码隐藏文件中创建了一个WebMethod,如下所示:
[System.Web.Services.WebMethod()]
public static string Test()
{
return "TEST";
}
Run Code Online (Sandbox Code Playgroud)
我创建了以下HTML页面来测试它:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"/></script>
<script type="text/javascript">
function test() {
$.ajax({
type: "POST",
url: "http://localhost/TestApp/TestPage.aspx/Test",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function(msg) {
alert(msg.d);
}
});
}
</script>
</head>
<body>
<button onclick="test();">Click Me</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时,AJAX会触发,但不会返回任何内容.当我调试我的代码时,该方法Test()甚至不会被调用.有任何想法吗?
症状:当我发出Web服务请求时(从使用.ajax的JQuery到ASP.NET .asmx文件),如果是使用GET而不是POST,则.asmx文件始终返回XML而不是JSON.如果我将回拨转回帖子,它会像JSON一样响应.
目标:如何使用HTTP GET获取JSON而不是XML?
我已经有了相当多的谷歌搜索,这不是通常的嫌疑人,如缺少ScriptService或没有在web.config中注册处理程序.它的行为就像脚本处理程序工厂只处理帖子?请帮助我指出正确的方向!
服务器代码:
namespace mynamespace
{
/// <summary>
/// Summary description for ServiceAddresses
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class MyService : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public string HelloWorld()
{
return "Hello World at " + DateTime.Now.ToLongTimeString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
客户代码:
function testhelloworld(postorget) {
var webMethod = '/servicedir/MyService.asmx/HelloWorld';
$.ajax({
type: ('GET'===postorget)?'GET':'POST',
url: webMethod,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: "{}",
success: function(msg) {
$('#info').text(msg.d);
},
error: function(xhr, …Run Code Online (Sandbox Code Playgroud) 我最近将项目更新为DNN 6.0.1.我从6.0.1安装开始,并从那里添加了我的桌面模块.从5.6.3移动到6.0.1时出现了一个问题,在我的一些用户控件中有一些功能.在我深入了解之前,我会承认我有点不舒服.
快速概述我有一个ascx,其中包含另一个控件中的所有功能,其中包含asp向导中的其他几个控件.
(这么多嵌套控件的原因是隐藏了许可目的的功能,以及另一个模块[也许可]依赖于第一个子控件中的功能)
它就像这样父:ViewReportRisk.ascx >> Child:ReportRiskWizard.ascx >> Second-Child:Attachments.ascx(许可 - 隐藏功能)(主要功能)(支持功能的控件)
向导(在子控件中)位于Telerik RadMultiPage内.我遇到麻烦的控件(第二个子控件)包含一个包含在asp更新面板中的RadUploader.
当我单击向导中的"下一步"以使用RadUploader查看控件时,我收到此错误:
Sys.InvalidOperationException: Sys.InvalidOperationException: Could not find UpdatePanel with ID 'dnn_ctr445_ViewReportIssue_wzAddRisk_AttachmentsAddTemp_UpdatePanel1'. If it is being updated dynamically then it must be inside another UpdatePanel.' when calling method: [nsIDOMEventListener::handleEvent]
Run Code Online (Sandbox Code Playgroud)
Id很好.我没有动态创建控件,当我删除更新面板时,控件出现,但上传功能丢失.
控件的简要概述(缩写):
ViewReportIssue.ascx
<%@ Control Language="C#" Inherits="NWDS.Modules.ReportIssue.ViewReportIssue" AutoEventWireup="true"
CodeBehind="ViewReportIssue.ascx.cs" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register src="ReportIssueWizard.ascx" tagname="ReportIssueWizard" tagprefix="uc2" %>
<%@ Register src="../Utils/LicensingInfo.ascx" tagname="LicensingInfo" tagprefix="uc1" %>
<uc1:LicensingInfo ID="LicensingInfo1" runat="server" />
<asp:Panel runat="server" ID="pnlContainer">
<uc2:ReportIssueWizard ID="ReportIssueWizard1" runat="server" />
</asp:Panel> …Run Code Online (Sandbox Code Playgroud) 我正在为几个用户开发Asp.Net MVC 3/knockout.js网站,他们可以保存有关他们网站的信息.这是该模型的简单版本
class{
string Id
string Name
string Url
string Description
}
Run Code Online (Sandbox Code Playgroud)
我想构建一个响应迅速的UI,以便所有加载保存等都将通过Ajax完成.
所以场景是当用户将som网站添加到他的列表并点击保存时,json字符串被发布到控制器中的Action方法.
一切正常.
问题是:
如何确保用户没有篡改id并实际保存有关其他用户网站的信息?
我当然是隐藏的,但任何具有一些网络知识的邪恶的人都可以轻易地改变身份.
用户希望RadComboBox的下拉窗口向上而不是向下,无论它们在屏幕上的哪个位置.不知道为什么,但你会如何实现呢?
注意:我有一个带有自定义模板的RadComboBox,而不是默认实现.
谢谢.
我在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)