我刚刚开始在VS 2008中使用JQuery,到目前为止我喜欢它!但是,我很困惑我应该如何使用JQuery来选择网页上的asp.net控件.
例如,我有以下代码(只是一个模型):
<asp:textbox id="txtSomeData1" runat="server" text="Some Data!!"></textbox>
Run Code Online (Sandbox Code Playgroud)
现在,如果我想使用JQuery选择文本框并将其文本更改为"Some More Data !!",那么我将不得不做以下事情:
$('input#ctl00_ContentPlaceHolder1_txtSomeData1').val('Some More Data!!');
Run Code Online (Sandbox Code Playgroud)
坦率地说,这很令人烦恼,因为我不想弄清楚在将它呈现给网页之后必须弄清控件的id是什么(ctl00_ContextPlaceHolder ......等等等等等等).
有没有办法我可以选择文本框而不必使用它的ID?另外,我知道您可以按类名选择,但如果您选择的控件没有类,则无济于事.
我在这里错过了一些东西吗?
只是重复:我不想使用类来选择输入标签!我想使用id"txtSomeData1",而不是使用呈现给网页的长ID.
我有一个图像标签,显示宽度为18像素,高度为36像素的图像.但是,我只想显示图像的底部18 x 18像素,而不是完整的18 x 36像素.如何将标记应用于标记以实现此目的?
编辑:
感谢你的帮助!这是你的几个答案的组合,让我在那里.我发布的最终款式如下 -
div.minus
{
background-image: url('Images/PlusMinus.gif');
background-repeat: no-repeat;
background-position: bottom;
margin : 0px;
padding : 0px;
height: 18px;
width : 18px;
overflow : hidden;
}
div.plus
{
background-image: url('Images/PlusMinus.gif');
background-repeat: no-repeat;
background-position: top;
margin : 0px;
padding : 0px;
height: 18px;
width : 18px;
overflow : hidden;
}
Run Code Online (Sandbox Code Playgroud)
我尝试了剪辑属性,但没有太多运气,而且我在枪口下截止日期,所以我将不得不在以后更糟糕.再次感谢!
我有一个ASP.NET webmethod的以下jQuery帖子:
$.ajax({
type: "POST",
url: "AjaxWebMethods.aspx/UpdNote",
contentType: "application/json; charset=utf-8",
data: "{'ID' : '" + id + "', 'note' : '" + note + "' }",
dataType: "json",
success: UpdNote_Success,
error: AjaxError
});
Run Code Online (Sandbox Code Playgroud)
并声明了Web方法:
[System.Web.Services.WebMethod(enableSession: true)]
public static int UpdNote(int ID, string note) {
// business logic that eventually returns a number, but simplifying
// ... for the sake of brevity
int retNum = 99;
return retNum;
}
Run Code Online (Sandbox Code Playgroud)
jQuery帖子和Web方法在Windows Authenticated环境中都很棒(即 - 用户通过LDAP进行身份验证).但是,我最近不得不将网站移动到使用RSA(双因素身份验证,引脚和令牌代码)的服务器,以便对用户进行身份验证以获取对该网站的访问权限.而我现在看到的是我所有的jQuery帖子都返回"405错误".
很明显,我想到了跨站点请求,但这些都不会发生在这里.所有jQuery AJAX帖子都使用在AjaxWebMethods.aspx中声明的Web方法,该页面驻留在站点自己的域中.
在此先感谢您的任何帮助或建议!
编辑:
在IE8中使用Fiddler为我提供了更多信息.它返回的错误代码仍然是405,但服务器错误更具描述性.服务器错误是"不允许使用用于访问路径'/AjaxWebMethods.aspx/UpdNote'的HTTP谓词POST."
我确实尝试将ajax请求的类型参数更改为GET,但我得到的是404(无法找到资源).
此外,忘了提到这是通过SSL(虽然我不认为这会有所作为).
编辑: …
我有一个用ASP.NET 3.5编写的数据访问层(DAL),它使用Microsoft模式和实践库(以下简称P&P)来完成数据访问.我安装了P&P并且它驻留在我的GAC中,因此,从逻辑上讲,我的DAL在GAC中引用了它.因此,P&P库永远不会被下拉到我的DAL的bin文件夹中.
我使用这个DAL项目至少有五个(甚至超过它,但我懒得试图统计它们)不同的网站.这一切对我来说都很好,因为我是唯一在这些网站上工作的开发人员.
但是,现在我有其他开发人员将在这些网站上工作.
问题是:如果开发人员从我们的代码存储库中删除DAL项目,如果他们没有安装P&P库,则不会为他们构建.
我的问题:我应该期望开发人员安装P&P库,还是应该将它们转储到bin文件夹中并完成它?
我意识到将它们转储到bin文件夹可能是处理问题的最简单方法,但如果我可以在GAC中引用它们,我从来不是bin文件夹的忠实粉丝.
我有一个具有以下属性的类:
public class Author {
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
接下来,我有一个像这样的作者列表:
List<Author> authors = new List<Author> ();
authors.add(
new Author {
FirstName = "Steven",
LastName = "King"
});
authors.add(
new Author {
FirstName = "Homer",
LastName = ""
});
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试使用Linq to XML来生成表示我的作者列表的XML.
new XElement("Authors",
new XElement("Author",
from na in this.Authors
select new XElement("First", na.First)))
Run Code Online (Sandbox Code Playgroud)
上面的块不会像我期望的那样生成XML.我得到的是:
<Authors>
<Author>
<First>Steven</First>
<First>Homer</First>
</Author>
<Authors>
Run Code Online (Sandbox Code Playgroud)
我希望XML输出看起来像是:
<Authors>
<Author>
<First>Steven</First>
<Last>King</Last>
</Author>
<Author>
<First>Homer</First>
<Last></Last> …Run Code Online (Sandbox Code Playgroud) 谁能告诉我如何在我的c#代码中动态创建thead tbody标签?
private void MakeTable()
{
Table tb = new Table();
TableRow tr = new TableRow();
TableCell td = new TableCell();
td.Text="hello world";
tr.Cells.Add(td);
tb.Rows.Add(tr);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个名为Grouping的抽象类.我有一个名为GroupingNNA的子类.
public class GroupingNNA : Grouping {
// blah blah blah
}
Run Code Online (Sandbox Code Playgroud)
我有一个List包含GroupingNNA类型的项目,但实际上声明包含类型分组的项目.
List<Grouping> lstGroupings = new List<Grouping>();
lstGroupings.Add(
new GroupingNNA { fName = "Joe" });
lstGroupings.Add(
new GroupingNNA { fName = "Jane" });
Run Code Online (Sandbox Code Playgroud)
问题: 由于lstGroupings被声明为List <Grouping>而fName是GroupingNNA的属性而不是Grouping,因此以下LINQ查询对我不利.
var results = from g in lstGroupings
where r.fName == "Jane"
select r;
Run Code Online (Sandbox Code Playgroud)
哦,这是一个编译器错误,而不是运行时错误.在此预先感谢任何帮助!
更多信息: 这是不能编译的实际方法.OfType()修复了LINQ查询,但编译器不喜欢我试图将匿名类型作为List <Grouping>返回的事实.
private List<Grouping> ApplyFilterSens(List<Grouping> lstGroupings, string fSens) {
// This works now! Thanks @Lasse
var filtered = from r in lstGroupings.OfType<GroupingNNA>()
where r.QASensitivity == fSens
select r; …Run Code Online (Sandbox Code Playgroud) 我在网络和ASP.Net开发方面比较新,所以请耐心等待.在测试我们的网页的过程中,我注意到如果用户单击"刷新/重新加载",并在"重新发送信息"对话框上出现提示时单击"重试",则在用户选择之前触发的最后一个事件"刷新",随后将再次解雇.
作为一个例子,我们有"上一页"和"下一页"导航按钮,允许用户浏览一系列问题.如果操作员点击"刷新/重新加载",那么用户按下最后一个导航按钮将再次点火.这实际上是有道理的,但净效果是用户最终在他以前查看的下一页或上一页上.这种事情有解决方法吗?
我在.NET 3.5项目中有一个类型字符串列表.该列表中包含数千个字符串,但为了简洁起见,我们会说它只有5个字符串.
List<string> lstStr = new List<string>() {
"Apple", "Banana", "Coconut", "Coconut", "Orange"};
Run Code Online (Sandbox Code Playgroud)
假设列表已排序(如上所述).我需要的是一个LINQ查询,它将删除所有不重复的字符串.所以结果会给我一个只包含两个"椰子"字符串的列表.
这可能与LINQ查询有关吗?如果不是那么我将不得不诉诸一些复杂的for循环,我可以这样做,但我不想,除非我不得不这样做.
我在启用了文件流的varchar(max)类型的列上创建了全文索引。文件流包含诸如JPG,TIF,PDF和XML的数据(尽管我认为这与问题几乎无关)。
我创建了两个查询,这些查询使我可以搜索索引。
全文搜索#1--
select
parentObj.ObjectID as 'GroupingID',
parentObj.Name as 'Grouping',
childObj.ObjectID as 'FileObjID',
childObj.Name as 'FileName',
fs.FileStreamID
from dbo.dat_FileStream fs
inner join dbo.dat_Object childObj
on fs.ObjectID = childObj.ObjectID
inner join dbo.dat_Collection c
on fs.ObjectID = c.ObjectID
inner join dbo.dat_Object parentObj
on c.ParentID = parentObj.ObjectID
where contains(FileStreamData, @srchTerm)
and parentObj.ObjectTypeID = 1
ORDER BY 'Grouping'
Run Code Online (Sandbox Code Playgroud)
全文搜索#2--
select
KEY_TBL.RANK,
parentObj.ObjectID as 'GroupingID',
parentObj.Name as 'Grouping',
childObj.ObjectID as 'FileObjID',
childObj.Name as 'FileName',
fs.FileStreamID
from dbo.dat_FileStream fs
inner join containstable(dbo.dat_FileStream, FileStreamData, @srchTerm, 1000) as …Run Code Online (Sandbox Code Playgroud)