在ASP.NET页面中,我有一个用户控件,我想使用javascript在其中执行一些操作.当该操作完成时,我想要引发一个事件(再次在javascript中),由包含的ASP.NET页面(再次在javascript中)获取.
我想这样做的原因是因为我在页面上有多个用户控件,我需要在一个用户控件中执行的操作在另一个用户控件中实例化一个操作而不进行回发.
有谁知道如何做到这一点?
非常感谢.
嗨,谢谢你的回复.我想要做的是创建某种形式的封装.因此,如果javascript代码在一个用户控件中执行某些操作,则用户控件不应该知道其他位置的影响.它会在javascript中引发一个事件,可以通过asp.net页面呈现的javascript来获取它,如果需要,它可以在另一个用户控件中调用javascript方法.这里的想法也是为了消除对回发的任何需求.
希望这会更好地表现出来.
假设您有以下两种方法:
1号:
void AddPerson(Person person)
{
// Validate person
if(person.Name != null && IsValidDate(person.BirthDate)
DB.AddPersonToDatabase(person);
}
Run Code Online (Sandbox Code Playgroud)
2号:
void AddPerson(string name, DateTime birthDate)
{
Person p = new Person(name, birthDate);
DB.AddPersonToDatabase(person);
}
Run Code Online (Sandbox Code Playgroud)
这两种方法中哪一种最好?我知道第一个更正确OO-wise,但我觉得第二个更可读,并且你不必确保对象是有效的,因为参数确保这一点.我只是不喜欢在传递它们作为参数的任何地方验证对象.还有其他方法吗?
编辑:Thx的所有答案.为了澄清,在构造函数和IsValid方法中进行验证当然是一种很好的方法,但在我的代码中,人的有效状态通常取决于上下文,并且可能因方法而异.这当然可能是糟糕设计的标志.
代码只是描述问题的一个例子.
这可能是一个愚蠢或明显的问题,但我们的整个站点使用XSLT进行渲染,以转换从数据库查询和其他部分即时创建的xml.我开始将很多ajax推入网站以使其更具动态性,是否有关于xslt和ajax的良好教程?
我有以下示例类:
Test.h:
@interface Test : UIButton {
NSString *value;
}
- (id)initWithValue:(NSString *)newValue;
@property(copy) NSString *value;
Run Code Online (Sandbox Code Playgroud)
Test.m:
@implementation Test
@synthesize value;
- (id)initWithValue:(NSString *)newValue {
[super init];
NSLog(@"before nil value has retain count of %d", [value retainCount]);
value = nil;
NSLog(@"on nil value has retain count of %d", [value retainCount]);
value = newValue;
NSLog(@"after init value has retain count of %d", [value retainCount]);
return self;
}
Run Code Online (Sandbox Code Playgroud)
其中产生以下输出:
2008-12-31 09:31:41.755 Concentration[18604:20b] before nil value has retain count of 0
2008-12-31 09:31:41.756 …Run Code Online (Sandbox Code Playgroud) 看起来如果你试图引用Office COM对象(就像你在其他开发环境中那样),Visual Studio就会出错 - 它就行不通了.
因此,您必须使用Microsoft手动转换的转换类型库,并可供下载,下载和下载.
现在似乎为了运行我的应用程序,它需要Office Interop代码,它包含在程序集中.
现在,我不想强迫我的客户安装Office 2007主互操作程序集,Office 2003主互操作程序集或Office XP主互操作程序集.我想要一个xcopy部署.
如果我设法获得微软的互操作程序集副本,我可以将它们复制到Bin/Debug和Bin/Release文件夹吗?
如果我包含Office 2007互操作程序集,如果客户安装了Office 95,它是否可以工作,或者我是否必须包含Microsoft已发布的Office Interop dll的所有版本?
我将一个类型化的数据集从一个项目移动到一个ASP Web应用程序项目.我将类型化数据集放入现有目录中的一个,就像它在上一个站点的App_Code目录中一样,但是没有看到在该项目中创建该asp.net文件夹的选项.
现在,当我尝试实例化类型化数据集时,编译器说"找不到类型或命名空间名称"(你是否缺少using指令或程序集引用?).
思考?
快速简介:
我团队中的人员一直在研究生产数据库(sql server 2005).我们添加了各种内容,例如约束,添加的触发器等.
现在我们发现某人或某事已在不同时间回滚我们的变化.问题是我们都共享一个共同的管理员登录.(愚蠢,是的,我知道,我们正在解决这个问题).它造成了大量的挫败感,此时我们只是想找出whodunnit.
你会如何追查有罪的党?
注意:我不是在寻找解决这个问题的方法,这已经在做了.我正在寻找一种方法来追查罪魁祸首.
我有一个使用CSS的小标签导航设置.当悬停在标签上时,颜色会发生变化,非常棒.但是,当我单击一个选项卡并导航到相应的页面时,我希望该选项卡(活动选项卡?)保持突出显示,指示当前页面.
我目前通过使用类(.currenttab)然后在每个HTML文件中使用此类来执行此操作.我没有使用:
active
Run Code Online (Sandbox Code Playgroud)
有没有办法让我使用活动,而不是在每个单独的HTML文件中使用一个类,或者我正在做的正确吗?
先感谢您.
出于某种原因,在异步模式下不会调用onreadystatechange回调函数.我在同步模式下测试了帖子,并确认帖子本身工作正常(注释掉我用来检查同步模式下的帖子的测试代码).在safari和firefox最新版本中都会出现此问题.有人可以告诉我这里我做错了什么吗?谢谢.
<html>
<head>
<script>
function recordScore(str)
{
if (str.length==0)
{
return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="http://hellworld3.appspot.com/findcountry";
var params = "screenname="+document.getElementById("screenname1").value+"&score="+document.getElementById("score1").value;
alert("params: "+params);
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = function()
{
alert("entered call back function. readstate value is: "+xmlHttpreadyState+". Response Text is: "+xmlHttp.responseText);
if (xmlHttp.readyState==4)
{
document.getElementById("message").innerHTML=xmlHttp.responseText;
}
}
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
xmlHttp.send(params);
//Testing code for synchronous mode
//alert("Http get status is: "+xmlHttp.status);
//alert("Http ready state value is: "+xmlHttp.readyState);
//alert("Http get response text is: …Run Code Online (Sandbox Code Playgroud) c# ×3
javascript ×3
ajax ×2
asp.net ×2
ado.net ×1
cocoa ×1
cocoa-touch ×1
css ×1
dataset ×1
events ×1
html ×1
ios ×1
methods ×1
ms-office ×1
navigation ×1
objective-c ×1
oop ×1
sql-server ×1
t-sql ×1
xcode ×1
xml ×1
xslt ×1