首页 \ 问答 \ 使用ASP.NET MVC Controller中的as3 URLLoader加载数据(Loading data using as3 URLLoader from ASP.NET MVC Controller)

使用ASP.NET MVC Controller中的as3 URLLoader加载数据(Loading data using as3 URLLoader from ASP.NET MVC Controller)

ASP.NET控制器:

// GET api/assets/5
public string Get(int id)
{
    ... <some DB init here>
    string sResult = (string)oCmd.ExecuteScalar();
    return sResult;
}

AS3接收器:

private function btnLoad_Click():void
{
    try
    {
        var urlRequest:URLRequest = new URLRequest("http://192.168.55.100/getimage/api/assets/1");
        oUrlLoader = new URLLoader();
        oUrlLoader.dataFormat = URLLoaderDataFormat.TEXT;
        oUrlLoader.addEventListener(Event.COMPLETE, onXMLDataLoaded, false, 0, true);
        oUrlLoader.load(urlRequest);
    }
    catch (ex:Error) {}
}
protected function onXMLDataLoaded(evt:Event):void {    
    try
    {
        var sData:String = oUrlLoader.data.toString();
        editor.paste_fromserver( XML(sData));
    }
    catch (ex:Error) { trace(ex.message); }
}

现在我尝试做的是将字符串解析为XML,但我得到的只是错误:“错误#1090:XML解析器失败:元素格式错误。”

我发现当我在“观察表达式”中观看oUrlLoader.data时,值就在那里,但是sData = oUrlLoader.data =“”“”(空字符串?)。

还试过oUrlLoader.data.toString() - 没有帮助,但是监视表达式改变了一点,没有toString()它在值的开始时有两个“”符号,而toString()它只有一个“。

任何想法为什么设置了Watch Expression值中的oUrlLoader.data,但代码中的oUrlLoader.data不返回任何字符串?

PS这实际上是字符串值(SVG图像),而不是二进制数据。 我正在使用Flash Builder for as3。

编辑:

呵呵,sData在Watch Expression中也有一个值。 数据是:

"<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg version=\"1.2\" id=\"svg2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><circle cx=\"284\" cy=\"310\" r=\"150\" id=\"untitled\" transform=\"matrix(1,0,0,1,-37,-22)\" style=\"opacity:1;stroke:#44F247;fill:#F087CA;fill-opacity:1;stroke-opacity:0.54;stroke-width:35.1;stroke-miterlimit:3;stroke-linecap:none;stroke-linejoin:round;\"/></svg>"

当我复制此数据并将其直接粘贴在代码中它可以工作,但使用此urlLoader它不起作用... :(

EDIT2:

构建器的截图(监视表达式有值,代码中的sData,鼠标悬停时没有): http//img9.imageshack.us/img9/7471/o7sa.png

还有......:]此字符串不包含源数据库中的任何制表符,新行或其他空格...


ASP.NET controller:

// GET api/assets/5
public string Get(int id)
{
    ... <some DB init here>
    string sResult = (string)oCmd.ExecuteScalar();
    return sResult;
}

AS3 Receiver:

private function btnLoad_Click():void
{
    try
    {
        var urlRequest:URLRequest = new URLRequest("http://192.168.55.100/getimage/api/assets/1");
        oUrlLoader = new URLLoader();
        oUrlLoader.dataFormat = URLLoaderDataFormat.TEXT;
        oUrlLoader.addEventListener(Event.COMPLETE, onXMLDataLoaded, false, 0, true);
        oUrlLoader.load(urlRequest);
    }
    catch (ex:Error) {}
}
protected function onXMLDataLoaded(evt:Event):void {    
    try
    {
        var sData:String = oUrlLoader.data.toString();
        editor.paste_fromserver( XML(sData));
    }
    catch (ex:Error) { trace(ex.message); }
}

Now what i try to do is to parse string as XML, but all i get is error: "Error #1090: XML parser failure: element is malformed."

What i've found is when i watch oUrlLoader.data in "Watch Expression" the value is there, but sData = oUrlLoader.data = """" (empty string?).

Also tried oUrlLoader.data.toString() - didn't help, but watch expression changed a bit, without toString() it had two "" signs in the beggining of value, with toString() it had only one ".

Any ideas why oUrlLoader.data in Watch Expression value is set, but the same oUrlLoader.data in code does not return any string?

P.S. This is actually string value (SVG image), not binary data. I'm using Flash Builder for as3.

EDIT:

Hehe, sData also have a value in Watch Expression. The data is:

"<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg version=\"1.2\" id=\"svg2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><circle cx=\"284\" cy=\"310\" r=\"150\" id=\"untitled\" transform=\"matrix(1,0,0,1,-37,-22)\" style=\"opacity:1;stroke:#44F247;fill:#F087CA;fill-opacity:1;stroke-opacity:0.54;stroke-width:35.1;stroke-miterlimit:3;stroke-linecap:none;stroke-linejoin:round;\"/></svg>"

When i copy this data and paste it directly in code it works, but using this urlLoader it does not work... :(

EDIT2:

Screenshot from builder (watch expressions have value, sData in code, when mouse over - does not): http://img9.imageshack.us/img9/7471/o7sa.png

and also... :] this string does not contain any tabs, new lines or other white spaces in source database...


原文:https://stackoverflow.com/questions/19759450
更新时间:2022-05-09 10:05

最满意答案

固定位置元素相对于浏览器窗口定位。 它不受它的父元素控制。 所以你不能用一个div包装它并使它跟随你的包装器的位置。 如果要更改其位置,则需要重新调整每个固定div的值。 我没有看到你想要在这么多元素上使用固定位置的原因。 不是一个好习惯。


A fixed position element is positioned relative to the browser window. It's not controlled by it's parent element. So you cannot wrap it with a a div and make it follow the position of your wrapper. You'll need to re-adjust the values of every fixed div if you want to change their positions. I don't see a reason why you would want to use fixed position on so many elements. Not a good practice.

相关问答

更多

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)