小编art*_*nce的帖子

asp.net OnClientClick未针对最初禁用的Button进行渲染

我有一个禁用的asp.Button,稍后我用JavaScript启用它.像这样

<asp:Button ID="btnSave" runat="server" Text="Save" Enabled="false" OnClientClick="; return ValidateFields();" OnClick="btnSave_Clicked" />
Run Code Online (Sandbox Code Playgroud)

但是,禁用控件时,"onclick"方法不会呈现为html.我的工作是在PageLoad中添加以下代码.

btnSave.Attributes["onclick"] = "return ValidateFields();";
Run Code Online (Sandbox Code Playgroud)

有更方便的解决方法吗?

谢谢

javascript c# asp.net

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

java user.home以本地语言返回

当我System.getProperty("user.home")在土耳其Windows 7上运行时,我得到"C:\ Users\aaaa",即使我的计算机中不存在"用户"文件夹(我有"用户"的土耳其语翻译).如何获取正确的user.home信息?谢谢

java internationalization

8
推荐指数
2
解决办法
327
查看次数

java:控制台上的彩色system.out消息

我希望我的命令行java程序将彩色文本输出到unix控制台.我特意在Ubuntu 10.4上使用gnome-terminal.我能够echo "\033[01;32m"Hello在终端上获得类似颜色的颜色.

如何用java代码触发这个?谢谢

java unix user-interface

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

Dockerized selenium浏览器无法访问Capybara测试网址

我试图在dockerized selenium独立firefox浏览器上运行Ruby on Rails功能测试.看起来我遇到了网络问题,因为selenium实例无法连接到Capybara启动的url.

这是我的示例docker-compose.yml文件:

ff:
  image: selenium/standalone-firefox:2.48.2
  container_name: firefox-browser
web:
  build: .
  container_name: my-app
  volumes:
    - ".:/home/ubuntu/my-app"
  command: /bin/bash -l scripts/docker-start-tests.sh
  ports:
    - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

我启动了docker-compose并启用了网络:

docker-compose --x-networking up
Run Code Online (Sandbox Code Playgroud)

测试脚本运行这样的rspec命令

rspec ./spec/features/login_spec.rb:43
Run Code Online (Sandbox Code Playgroud)

对于docker测试,我为Capybara启用了远程驱动程序:

Capybara.register_driver :docker_firefox do |app|
  Capybara::Selenium::Driver.new(app, {
    browser: :remote,
    url: "#{ENV['FF_URL']}/wd/hub",
    desired_capabilities: Selenium::WebDriver::Remote::Capabilities.firefox
  })
end
Run Code Online (Sandbox Code Playgroud)

最后我将测试称为:

unless ENV['FF_URL'].nil?
  Capybara.current_driver = :docker_firefox
  Capybara.javascript_driver = :docker_firefox

  Capybara.app_host = "http://my-app:56555"
  Capybara.server_port = "56555"
  # Capybara.server_host = "my-app"
end

visit root_path
save_and_open_screenshot
click_link "Sign in"
...
Run Code Online (Sandbox Code Playgroud)

我可以拖尾浏览器容器日志,我看到selenium从Capybara接收命令.问题是它无法连接到提供的网址,我可以通过屏幕截图确认.

Firefox无法在my-app上建立与服务器的连接:56555

为了更好地理解这个问题,我启动了rails app,并尝试从selenium容器中访问它.我注意到,如果我使用ip绑定启动rails应用程序,我只能从selenium容器访问该应用程序. …

selenium rspec ruby-on-rails capybara docker

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

如何在C#中使用XmlDsigC14NTransform类

我试图通过使用System.Security.Cryptography.Xml.XMLDsigC14nTransformc#.net Framework 2.0类来规范化xml节点。

该实例需要三种不同的输入类型,即NodeList,Stream和XMLDocument。我尝试使用所有这些输入类型进行转换,但是得到了不同的结果。我真正想做的是规范化单个节点,但是正如您在输出文件中看到的那样,输出不包含任何内部xml。

非常感谢有关规范XML节点的正确方法的任何建议。最好,

string path = @"D:\Test\xml imza\sign.xml";
XmlDocument xDoc = new XmlDocument();
xDoc.PreserveWhitespace = true;
using (FileStream fs = new FileStream(path, FileMode.Open))
{
    xDoc.Load(fs);
}

// canon node list
XmlNodeList nodeList = xDoc.SelectNodes("//Child1");

XmlDsigC14NTransform transform = new XmlDsigC14NTransform();
transform.LoadInput(nodeList);
MemoryStream ms = (MemoryStream)transform.GetOutput(typeof(Stream));

File.WriteAllBytes(@"D:\Test\xml imza\child1.xml", ms.ToArray());

// canon XMLDocument
transform = new XmlDsigC14NTransform();
transform.LoadInput(xDoc);
ms = (MemoryStream)transform.GetOutput(typeof(Stream));

File.WriteAllBytes(@"D:\Test\xml imza\doc.xml", ms.ToArray());

// Document to Stream
ms = new MemoryStream();
XmlWriter xw = XmlWriter.Create(ms);
xDoc.WriteTo(xw);
xw.Flush();
ms.Position …
Run Code Online (Sandbox Code Playgroud)

c# xml canonicalization xml-signature

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

Google Maps Polyline点击不会触发PolyMouseEvent

我试图在折线的路径中获取边缘的索引,因为它在文档中写入.但是,每当我在折线上触发click事件时,我都会得到未定义的值.

这是我的代码:edge,path和vertex都是未定义的

route = new google.maps.Polyline({
path: polyLineArray,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 5,
clickable: true,
editable: false
});

google.maps.event.addListener(route, 'click', function(evt) {           
  console.log("route click1: " + evt.edge);
  console.log("route click2: " + evt.path);
  console.log("route click2: " + evt.vertex);
  console.log("route click3: " + evt);
  for(var property in evt) {
   console.log("route click4: " + property + " - " + evt[property]);
  }
Run Code Online (Sandbox Code Playgroud)

}};

我在这里错过了什么吗?非常感谢

javascript google-maps-api-3

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