小编Del*_*rin的帖子

按名称查找GridView列索引的方法

我正在尝试编写一个小方法来循环并GridView通过其索引查找列,因为它可以根据可见的内容更改位置.

这是我到目前为止:

private int GetColumnIndexByName(GridView grid, string name)
{
    foreach (DataColumn col in grid.Columns)
    {
        if (col.ColumnName.ToLower().Trim() == name.ToLower().Trim()) return col.Ordinal;
    }

    return -1;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,DataColumn似乎不是正确使用的类型,但我有点迷失在这里我应该做什么.

我只能使用.NET 2.0/3.5.我不能用4.0.

c# asp.net

20
推荐指数
2
解决办法
6万
查看次数

如何使用jQuery通过ID选择子元素?

我在选择驻留在另一个容器中的span元素中的文本时遇到问题.

我试图解决的情况是在页面上我们可能一次有10-15个不同的地址(所以我在创建页面时将记录ID添加到div的ID上).我需要能够通过ID选择特定的一个,然后在其中找到各个地址片段.

HTML输出的示例如下:

<div id="Address_1">
    <span id="Address">Some Address</span>
    <span id="City">Some City</span>
    <span id="State">Some State</span>
    <span id="Zip">Some Zip</span>
</div>

<div id="Address_2">
    <span id="Address">Some Address</span>
    <span id="City">Some City</span>
    <span id="State">Some State</span>
    <span id="Zip">Some Zip</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用以下内容(以及许多变种):

$("#Address_" + Id).children().find("#Address").text;
$("#Address_" + Id).find("span#Address").text;
$("#Address_" + Id).find("span").find("#Address").text;
Run Code Online (Sandbox Code Playgroud)

(我也可以在跨度内使用类而不是ID,但我也想知道如何通过ID来实现它.)

我确信这是非常简单的,我做错了,但我似乎可以搞清楚.我在这里搜索了很多问题以及寻找类似的问题,但我似乎无法找到我正在寻找的东西.如果我没有使用正确的措辞进行搜索,我会提前道歉.

任何和所有的帮助非常感谢.

更新:感谢Ken Redler的帮助,这是我的解决方案.

<div id="Address_1">
    <span class="Address">Some Address</span>
    <span class="City">Some City</span>
    <span class="State">Some State</span>
    <span class="Zip">Some Zip</span>
</div>

$("#Address_" + Id).find("span.Address").text();
Run Code Online (Sandbox Code Playgroud)

jquery

8
推荐指数
1
解决办法
1万
查看次数

如何将多个jQuery函数压缩成一个?

我仍然是jQuery的新手,我正在尝试寻找帮助优化我的代码的方法.我正在开发一个应用程序,每次有人离开字段(.blur)时我都会调用一些计算方法.我只想在满足某些条件时调用这些方法(例如值!= 0).我有9个字段,我正在计算和检查当前.

$(document).ready(function () {
var currentValue = {};

$("#txtValue1").focus(function () {
    currentValue = $(this).val();
}
).blur(function () {
    $("#txtValue1").valid();
    if (currentValue != $("#txtValue1").val() && $("#txtValue1").val() != "") {
        CallCalculations();
    }
});

$("#txtValue2").focus(function () {
    currentValue = $(this).val();
}
).blur(function () {
    $("#txtValue2").valid();
    if (currentValue != $("#txtValue2").val() && $("#txtValue2").val() != "") {
        CallCalculations();
    }
});
});

function CallCalculations() {
    // Do Stuff
};
Run Code Online (Sandbox Code Playgroud)

我知道可以将这些函数压缩成一个更通用的函数(使用CSS类作为选择器而不是ID)但我似乎无法弄明白,因为我仍然是jQuery/Javascript的新手.任何帮助将不胜感激.谢谢!

jquery

6
推荐指数
2
解决办法
170
查看次数

回发后启动文件下载

在我的应用程序中,我正在为用户构建一个zip文件,以便下载一些导出的数据库信息.当用户单击"生成数据"按钮并在数据库中记录请求时,将创建zip文件.

在我的页面上,我有一个Gridview,它显示用户的下载历史记录,并使他们能够在一段时间内下载最新生成的文件.

我遇到的问题是,当他们点击按钮时,我想要刷新页面(从而刷新gridview并显示他们的最新请求),然后为他们启动文件下载(IE,提示提示并让他们决定是否打开/保存/取消它).

我能够在帖子上开始下载,但我的Gridview在开始之前没有更新,所以它没有显示列表中的最新请求.如何在下载提示开始之前更新gridview?

我正在使用以下内容开始下载:

    public void BeginDownload()
    {
        FileDownload download = InventoryService.GetLastThreeFileDownloads(this.EmployeeId).First();
        FileInfo fi = new FileInfo(Server.MapPath(SERVER_DOWNLOAD_PATH) + download.DownloadFileName);

        Response.Clear();
        Response.ContentType = "application/zip";
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + fi.Name);
        Response.TransmitFile(fi.FullName);
        Response.Flush();
    }
Run Code Online (Sandbox Code Playgroud)

如果隐藏字段设置为true(我在单击按钮构建文件时设置),则在Page_Load事件中调用该方法作为最后一项.

我也试过通过jQuery/AJAX调用来刷新页面并开始下载但收效甚微.我已经考虑打开一个模态对话框,让他们点击一个链接开始下载,然后在模态关闭时刷新页面,但如果我找不到另一个解决方案,这是最后的手段.

任何帮助是极大的赞赏!

c# asp.net jquery gridview download

6
推荐指数
1
解决办法
9186
查看次数

从ASPX代码背后调用Web方法

我试图找出一种方法,我可以从另一个ASPX Code Behind页面调用Web方法(位于aspx页面后面的代码中作为公共静态方法).

这是Page A.aspx背后的代码

public partial class PageA : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    // other code not relevant is here  
    }

    [WebMethod(true)]
    public static string GetStringInfo()
    {
         // do some stuff here to build my string
         // return string
    }
}
Run Code Online (Sandbox Code Playgroud)

在页面B上,我需要能够在页面加载或其他事件期间调用GetStringInfo()来获取信息.GetStringInfo()相当复杂,并且出于我无法控制的原因,无法将其移动到其他地方或目前重建.

如何从其他页面的代码中使用上面的Web方法?

我已经尝试实例化其他页面(PageB)的副本,例如:

public partial class PageB : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       PageA page = new PageA();
       page.GetStringInfo();        
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是因为它是动态编译的,所以我没有一个简单的命名空间来引用和访问.我试过添加一个,它忽略了它.

该项目位于.net 3.5,C#,是一个网站项目(不是Web应用程序).

任何帮助表示赞赏!

c# asp.net webmethod

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net ×3

c# ×3

jquery ×3

download ×1

gridview ×1

webmethod ×1