在页面之间传递文件名时出现问题

时间:2011-04-13 10:41:46

标签: c# asp.net query-string filepath

我已经尝试过并尝试但是无法掌握这一点,所以让我解释一下我的问题。我有一个使用xml调查文件的调查网站。在一个页面上,我有一个类别菜单,它将相对调查文件名作为查询字符串传递给重定向中的另一个页面。

~/websurvey.aspx?Survey=gamesurvey.xml

所以调查文件的名称是gamesurvey.xml。在另一个页面上,我有以下内容将文件名读入字符串。

string c = Request.QueryString["Survey"];

现在这就是我的问题。我必须传递文件名的控件无法识别我在尝试“取消引用”字符串时所做的任何尝试。这是有问题的部分。

                <sstchur:WebSurvey id = "ws"
                                 SurveyFile =  "gamesurvey.xml"
                                   AnswersFile = "answers.xml"
                                   runat = "server"/>
              </form>             

在上面你看到gamesurvey.xml,我需要传递字符串。这里是硬编码的。这是一个问题,因为我希望能够通过查询字符串调用任何调查,而无需为每个调查创建新页面。 如果我把像

这样的东西
""+c+"" or .toString() or SurveyFile = c

它告诉我服务器标签格式不正确。 总结一下我的问题,我需要直接从一个页面传递一个文件路径。顺便说一句,当我把SurveyFile = c时,我得到一个页面加载错误,说找不到文件c,即这个控件只采用文件名而不是包含它的变量。

很抱歉,如果这很难理解,但现在我的头已经融化了,我不得不问。 任何帮助,将不胜感激。

我正在使用的控件是WebSurvey控件4GuysFromRolla,是的,我已经检查了所有文档以及与之相关的一些论坛帖子。

2 个答案:

答案 0 :(得分:0)

是什么阻止您在代码隐藏中设置该控件属性?

如果您有“page.aspx.cs”,只需在Page.Init Page.Load事件中执行该操作,您就可以了!

也许我错了,你不能使用代码隐藏或类似的东西。

答案 1 :(得分:0)

我给你的选择很少

使用

        SurveyFile= <% c %>

或者因为您没有传递完整的文件路径所以找不到您的文件。给它~~根//目录// filename.extension

或者可能是 你可以找到一些方法来使用页面后面的代码设置该参数。

如果发现有用的话,请勾选我的答案